欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

运维 - PHP使用memcached保存session时碰到偶发性session丢失问题?

程序员文章站 2022-05-02 08:57:25
...
是偶发性的丢失,比如我第2次的ajax请求时读到的$_SESSION为一个空数组,第3次请求时$_SESSION值又正常了,然而我在某个页面里面有一次同时发起五六个请求时,很大几率会出现某次session丢失问题,求助,怎么解决

php.ini如下

session.save_handler = memcached
session.save_path = "127.0.0.1:11211"

运行环境是在我的vagrant虚拟机里,php、memcahe都是装在这个虚拟机里的,php是5.6,memcache是1.4.4,。奇怪的是当我把session使用文件来存时就没有碰到过session丢失的问题

回复内容:

是偶发性的丢失,比如我第2次的ajax请求时读到的$_SESSION为一个空数组,第3次请求时$_SESSION值又正常了,然而我在某个页面里面有一次同时发起五六个请求时,很大几率会出现某次session丢失问题,求助,怎么解决

php.ini如下

session.save_handler = memcached
session.save_path = "127.0.0.1:11211"

运行环境是在我的vagrant虚拟机里,php、memcahe都是装在这个虚拟机里的,php是5.6,memcache是1.4.4,。奇怪的是当我把session使用文件来存时就没有碰到过session丢失的问题

memcache 的命中率不可能这么低啊,是不是memcache满了?或者后台使用的是多台机器,session存储用的memcache不共享?
具体啥问题要看代码啥的

session有并发一致性问题,你可以在写入数据时上锁,写完后释放锁
解释请看这里:http://justcoding.iteye.com/b...