在memcache存储会话
来源:互联网 发布:微信红包开发源码 编辑:程序博客网 时间:2024/06/06 00:04
独立博客:chugang.net
会话数据,即SESSON数据,默认存储在文件中。如果希望将SESSION数据存储在更快速的地方,更重要的是,如果网站是分布式部署的,SESSION数据存储在文件中,就不能满足要求。
要解决分布式会话问题,可以将会话存储在memcache。
1.安装好memcache服务端、PHP的memcache扩展。
2.在PHP的配置文件php.ini中更改SESSION相关的配置。
我的PHP配置文件 E:\wamp64\bin\apache\apache2.4.17\bin\php.ini 中,SESSION相关的配置是:
session.save_handler = filessession.save_path ="E:/wamp64/tmp"
如果有足够的权限,更好的做法是使用 session_save_path 和 session_set_save_handler 函数设置这两个配置。
3.重启服务器,运行网站,一切正常,感觉不到和之前有什么变化。但会话数据的存储位置的确改变了。
4.测试会话数据存储在哪里
A.在没有更改session配置之前,运行本地的网站,登录后台,然后查看 E:/wamp64/tmp,发现产生了SESSION文件,文件内存储了登录信息。
B.更改session配置后,将 E:/wamp64/tmp 清空,再次登录网站后台,能正常登录,但在 E:/wamp64/tmp 没有发现任何文件。
C.session可能已经存储到memcache中。但从memcache中获取session数据,却失败了。
我是这样获取的:
在session中存储了
$_SESSION['user'] = 'cg'
从memcache中以 user 为key获取值,失败了。是方式不对?还是key错误?
为了进一步证明session数据存储在memcache中,我停止了memcache,然后刷新网站,网站立刻变为非登录状态,重新登录,总是不成功。启动
memcache后,恢复正常。这足以证明session已经存储到memcache中。
memcache中存储的数据没有持久化存储,当它重启之后,之前所有的数据都会丢失。这会导致一个场景:一个网站将会话信息存储到了memcache中,
memcache突然重启,正在登录此网站的所有用户的会话信息全部消失,一刷新,全部变为非登录状态。
- 在memcache存储会话
- 在应用会话之间持久存储集合
- 会话存储在服务器的设置.
- Memcache存储
- 在apache中使用 memcache 来作 session 存储
- Memcache分布式存储测试
- memcache 存储 session
- memcache 的内存存储
- Memcache存储数据
- memcache存储session数据
- memcache 的内存存储
- memcache内存存储机制
- memcache的存储步骤
- memcache数据存储原理
- 使用memcache存储数据
- memcache存储session实现
- html5 会话存储 SessionStorage
- 用 memcache 来存储 session
- 在mac上创建鼠标双击可执行的shell脚本
- PHP简单AJAX
- 五十道编程小题目 --- 29 java
- php下zmq扩展安装
- ${pageContext.request.contextPath} jsp中绝对路径
- 在memcache存储会话
- js键盘事件全面控制详解
- VS 2013用到的Zlib库 出现create2 Not found 解决办法
- Java设计模式之单例模式
- VCG简介与安装
- 持续更新--Smali代码库
- Boost.Interprocess使用手册翻译之四:在进程间共享内存 (Sharing memory between processes)
- 复杂json数据的解析
- valgrind报的几种内存泄露(转)