Memcached LRU и срок действия - PullRequest
       3

Memcached LRU и срок действия

8 голосов
/ 10 февраля 2011

Если для элемента в memcached установлено, что он никогда не истекает, освобождается ли он от выселения LRU?

Документы, которые я видел, не рисуют четкую картину того, какой из них имеет приоритет.На мой взгляд, было бы идеально (возможно, очень сложно внутренне), чтобы LRU применялся только к предметам, срок действия которых истек> 0.

Ответы [ 2 ]

16 голосов
/ 10 февраля 2011

Нет, это не освобождается. Memcached - это кеш, а не постоянное хранилище. Любой элемент в нем или весь кеш может исчезнуть в любой момент (но маловероятно, если он не заполнен или есть серьезная проблема).

Под сильным давлением памяти алгоритм LRU удалит все, что сочтет необходимым.

Что такое кэш memcached?

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

Если в системе нет областей данных с истекшим сроком действия, она отбрасывает наименее использованный блок памяти (кусок памяти).

3 голосов
/ 18 апреля 2016

В doc сказано, что если для expirezero_does_not_evict установлено значение 'true', предметы с нулевым сроком действия не могут быть выселены.

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