Выбор ответа Middle Кеширование обновлено

Одинаковый TTL

Вопрос

Ночью скрипт прогрел кеш 1 млн товаров с TTL ровно 24 часа. Какой риск и как его снизить?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Ключи истекут разом; добавить к TTL случайный разброс. Ключи, созданные одновременно с одинаковым TTL, массово истекут через сутки, и БД получит волну промахов.

Варианты ответа

  1. Ключи истекут разом; добавить к TTL случайный разбросправильный ответ
  2. Redis не принимает TTL больше 12 часов и отбросит такие ключи
  3. Память Redis переполнится через 24 часа из-за истёкших ключей
  4. Риска нет: одинаковый TTL у всех ключей это обычная практика

Разбор

Ключи, созданные одновременно с одинаковым TTL, массово истекут через сутки, и БД получит волну промахов. Случайный разброс (jitter), например 24 часа ± 10%, растягивает истечение во времени. Ограничения на 12 часов в Redis нет. Память не растёт от истечения: истёкшие ключи удаляются.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.