2014-12-29 8 views
2

Если у меня есть несколько хэшей на Redis, каждый с ключами, срок действия которых истекает через 24 часа, если память исчерпается при использовании политики выселения, такой как allkeys-lru, Redis удалит весь хэш или отдельные ключи?Выброс кеша на хэши на Redis

ответ

2

Redis поддерживает только истечение срока действия ключа. Поэтому, после установки TTL, ваш ключ, содержащий хэш-карту, будет истек полностью (все дочерние поля будут удалены вместе с ним). То же самое относится к другим типам данных Redis (например, Sets and Lists).

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

+0

Просто для подтверждения: когда вы говорите, что «Redis поддерживает только истечение срока действия ключа». Вы не ссылаетесь на ключи, содержащиеся в хеш-ключах Redis (уровень 1), а на клавиши Redis вообще (уровень 0)? – aledalgrande

+0

Точно. Подумайте о «ключах» внутри уровня 0 Хэш-ключ как «поля», а затем истечение ключей имеет смысл (но не полей :)). –

Смежные вопросы