Как долго сохраненные в памяти данные будут храниться в памяти - PullRequest
4 голосов
/ 27 марта 2010

Если я загружу данные user_x в память с помощью memcache, как долго эти данные будут доступны?

Если пользователь входит только один раз в год, эти данные не нужны в памяти.

Или я смотрю на это неправильно?

1 Ответ

5 голосов
/ 27 марта 2010

memcached FAQ покрывает часть этого.

Вы можете установить время истечения до 30 дней в будущем.После этого memcached интерпретирует его как дату и истечет срок действия элемента после указанной даты.Это простая (но непонятная) механика.

Когда memcached достигает своего предела памяти, он автоматически истекает в первую очередь из самых старых / наименее используемых записей.отложенное истечение срока действия, что означает, что он не использует никаких дополнительных элементов с истекающим сроком действия процессора.Когда запрашивается элемент (запрос на получение), он проверяет время истечения срока действия, чтобы убедиться, что элемент еще действителен, прежде чем вернуть его клиенту.

Аналогично при добавлении нового элемента в кэш, если кэшполный, он будет искать устаревшие элементы для замены перед заменой наименее используемых элементов в кэше.

Из-за этого ваши кэшированные данные могут быть аннулированы в любое время .Как указал Дастин, он также может остаться около навсегда .

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