2015-02-19 3 views
1

У меня есть сервер redis с maxmemory-policy, установленный на volatile-lru. В документации указывается, что это будет выходить из набора записей с истечением срока действия, установленным при достижении предела памяти.Будет ли Redis maxmemory-политика изменчивой-lru выселить, если ничего не прошло истекшую дату?

В этом случае redis только выдает предметы за истечение срока их действия? Если все в памяти имеет установленный срок действия, но ничего не прошло после истечения срока действия, выйдет ли что-нибудь, когда будет достигнута максимальная память?

ответ

4

Если ваша политика высева установлена ​​на любой из политик volatile-*, при нехватке памяти и отсутствии летучих ключей для высылки, Redis вернет ошибку OOM.

+0

Спасибо. Просто уточнить: если все летучие ключи истекают, что есть в будущем, означает ли это, что нет вытесняемых летучих ключей? т. е. может ли быть рассмотрен только срок, в течение которого он истекает, для выселения? – Ray

+1

Нет - один раз, когда ключ установлен с TTL, он считается изменчивым (и будет кандидатом на выселение в соответствии с политикой volatile-*). Когда истекает срок действия летучего ключа, он больше не может быть выселен, поскольку он больше не существует. –

+0

Итак, если все мои ключи истекают в будущем (являются волатильными), когда достигается максимальная максимальная память, он все равно должен вытеснять самые старые из них, если установлен волатильный LRU. – Ray