Выбор ответа Middle Кеширование спрашивают часто обновлено

Лавина при истечении ключа

Вопрос

Ключ с главной страницей истёк, и 5 000 запросов одновременно пошли строить её в БД. Как называется проблема и что поможет?

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

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

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

Коротко

Правильный ответ: Replication lag; читать главную страницу с лидера БД. Это cache stampede (dogpile): популярный ключ пропал, и все промахи разом бьют в БД.

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

  1. Cache penetration; кешировать пустые ответы на минуту
  2. Горячий шард; перешардировать Redis по другому ключу
  3. Cache stampede; блокировка на перестроение или старое значение
  4. Replication lag; читать главную страницу с лидера БДправильный ответ

Разбор

Это cache stampede (dogpile): популярный ключ пропал, и все промахи разом бьют в БД. Решения: только один запрос перестраивает значение под блокировкой, остальные ждут или получают устаревшее значение; либо заранее обновлять ключ до истечения. Cache penetration это запросы к несуществующим данным. Горячий шард и отставание реплик описывают другие ситуации.

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

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