Выбор ответа Middle Кеширование спрашивают часто обновлено
Лавина при истечении ключа
Вопрос
Ключ с главной страницей истёк, и 5 000 запросов одновременно пошли строить её в БД. Как называется проблема и что поможет?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Replication lag; читать главную страницу с лидера БД. Это cache stampede (dogpile): популярный ключ пропал, и все промахи разом бьют в БД.
Варианты ответа
- Cache penetration; кешировать пустые ответы на минуту
- Горячий шард; перешардировать Redis по другому ключу
- Cache stampede; блокировка на перестроение или старое значение
- Replication lag; читать главную страницу с лидера БДправильный ответ
Разбор
Это cache stampede (dogpile): популярный ключ пропал, и все промахи разом бьют в БД. Решения: только один запрос перестраивает значение под блокировкой, остальные ждут или получают устаревшее значение; либо заранее обновлять ключ до истечения. Cache penetration это запросы к несуществующим данным. Горячий шард и отставание реплик описывают другие ситуации.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.