Rumah  >  Artikel  >  pembangunan bahagian belakang  >  运维 - PHP使用memcached保存session时碰到偶发性session丢失问题?

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

WBOY
WBOYasal
2016-12-01 00:25:351084semak imbas

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

php.ini如下

<code>session.save_handler = memcached
session.save_path = "127.0.0.1:11211"</code>

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

回复内容:

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

php.ini如下

<code>session.save_handler = memcached
session.save_path = "127.0.0.1:11211"</code>

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

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

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn