首頁  >  文章  >  後端開發  >  運維 - PHP使用memcached保存session時碰到偶發性session丟失問題?

運維 - PHP使用memcached保存session時碰到偶發性session丟失問題?

WBOY
WBOY原創
2016-12-01 00:25:351084瀏覽

是偶發性的遺失,例如我第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...

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn