更新,24OCT2011:我把它移到了ServerFault中,這可能是更合適的,而這正是我要發佈這個的地方。但是,我真的找不到「轉移到SF」選項,我只是在那裏複製它。任何人都可以幫助實際移動它?Memcache + PHP會話調優:memcache如何過期密鑰?
我已經做了一些研究,並沒有找到明確的答案。
我們有一個使用PHP + Memcache會話處理程序的網絡應用程序。
我有幾個問題,都是相互關聯的,但最終我的問題是,「爲什麼PHP會話顯然沒有過期,當我們認爲他們應該是?即最終用戶應該在設定時間之後退出應用程序,但不是。
這裏是點,請幫我接他們,並告訴我在哪裏,我錯了:
- 我的理解是,內存緩存到期根據設定的時間(按鍵,以秒或Unix時間戳較大值)。
- 到期是懶惰 - 即沒有事先
- 刪除的PHP memecache會話處理程序使用sessions.gc_max_lifetime設置內存緩存密鑰過期。 idk,也許它不?
- Memcache應該在提供請求的密鑰並且已經過期時不提供服務(然後也可以刪除它?)。但至少不會爲它服務。
- 這種不服務的行爲應該對PHP等同於刪除的會話並且用戶被註銷。
用戶沒有被註銷。
我怎樣才能調試呢? Memcache並不完全透明。
更新 我應該指定未運行的示例大小寫是會話超時設置爲兩小時的站點。一個示例用戶會在晚上繼續使用該站點,然後在8-10小時後回到站點並仍然登錄。
您知道您不必等待memcache密鑰過期,您可以在任何時候將其刪除嗎? – fire
你可以直接與Memcache溝通......在Telnet你有多好? –
我使用了telnet界面。問題在於找到我想要的萬匙鑰匙中的鑰匙。 – JDS