运维 - 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...