Выбор ответа Middle Кеширование обновлено
Джиттер TTL
Вопрос
Зачем к TTL ключей добавляют случайную составляющую (например, 300 ± 30 секунд)?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Чтобы одновременно созданные ключи не истекли разом и не дали пик на базу. После деплоя или прогрева тысячи ключей могут создаться в одну секунду и с одинаковым TTL истечь тоже в одну секунду, вызвав волну промахов.
Варианты ответа
- Чтобы сэкономить память: часть ключей истекает раньше и освобождает место
- Чтобы данные дольше оставались свежими за счёт продления TTL горячих ключей
- Чтобы одновременно созданные ключи не истекли разом и не дали пик на базуправильный ответ
- Это требование Redis Cluster: одинаковые TTL мешают распределению по слотам
Разбор
После деплоя или прогрева тысячи ключей могут создаться в одну секунду и с одинаковым TTL истечь тоже в одну секунду, вызвав волну промахов. Случайный разброс размазывает истечения во времени. На память и свежесть данных джиттер почти не влияет, а Redis его не требует.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.