Выбор ответа Middle Кеширование обновлено
Одинаковый TTL
Вопрос
Ночью скрипт прогрел кеш 1 млн товаров с TTL ровно 24 часа. Какой риск и как его снизить?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Ключи истекут разом; добавить к TTL случайный разброс. Ключи, созданные одновременно с одинаковым TTL, массово истекут через сутки, и БД получит волну промахов.
Варианты ответа
- Ключи истекут разом; добавить к TTL случайный разбросправильный ответ
- Redis не принимает TTL больше 12 часов и отбросит такие ключи
- Память Redis переполнится через 24 часа из-за истёкших ключей
- Риска нет: одинаковый TTL у всех ключей это обычная практика
Разбор
Ключи, созданные одновременно с одинаковым TTL, массово истекут через сутки, и БД получит волну промахов. Случайный разброс (jitter), например 24 часа ± 10%, растягивает истечение во времени. Ограничения на 12 часов в Redis нет. Память не растёт от истечения: истёкшие ключи удаляются.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.