簡體   English   中英

如果Memcache實例達到其內存限制,則存儲在Memcached中的PHP會話將如何處理?

[英]What happens to PHP sessions stored in Memcached if the Memcache instance hits its memory limit?

我們正在使用內存緩存群集作為多個Web服務器的會話存儲。

不過,我很好奇,如果我們設置一個較長的會話期滿,並且memcache實例沒有大量的RAM,將會有什么后果。

如果memcache達到其內存限制,是否會自動釋放RAM(從而刪除會話)? 或者是其他東西?

Memcached將使用最近最少使用(LRU)驅逐來釋放內存。 因此,不應將Memcached或與此相關的任何高速緩存用於壽命長的會話(對於壽命短的會話很好)。

對於長壽命的會話,您應該使用永久存儲,例如數據庫。 如果性能是問題,則可以通過緩存會話查詢來模擬直寫緩存(例如Django的cached_db會話存儲的功能)。 我不知道PHP中有任何直寫式實現,但是它很容易實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM