Что происходит с сеансами PHP, хранящимися в Memcached, если экземпляр Memcache достигает своего предела памяти? - PullRequest
0 голосов
/ 06 декабря 2018

Мы используем кластер memcache в качестве хранилища сессий для нескольких веб-серверов.

Мне любопытно, каков будет эффект, если мы установим длительное истечение сеанса, а экземпляры memcache - нетесть тонна ОЗУ.

Если memcache достигает своего предела памяти, автоматически ли он освобождает ОЗУ (и, следовательно, отбрасывает сеансы)?Или что-то еще?

1 Ответ

0 голосов
/ 06 декабря 2018

Memcached будет использовать наименее использованное (LRU) выселение для освобождения памяти.По этой причине Memcached или любой другой кеш не должен использоваться для длительных сеансов (это хорошо для коротких сеансов).

Для долгоживущего сеанса вы должны использовать постоянное хранилище, такое как база данных.Если производительность является проблемой, вы можете эмулировать сквозное кэширование путем кэширования запросов сеанса (это то, что, например, делает хранилище сеансов Django cached_db).Я не знаю ни о какой сквозной реализации в PHP, но это достаточно просто реализовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...