Ответ вслух Middle Кеширование спрашивают часто обновлено

Стратегии кеширования

Вопрос

Какие стратегии кеширования вы знаете и как выбрать подходящую?

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

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

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

Коротко

Основная стратегия cache-aside: читаем кеш, при промахе идём в БД и кладём результат с TTL, при изменении пишем в БД и удаляем ключ. Read-through то же самое, но логику загрузки берёт на себя библиотека или кеш.

Что должно прозвучать в ответе

  • Cache-aside: приложение само читает и заполняет кеш, самый частый вариант

  • Read-through: кеш-слой сам загружает данные при промахе

  • Write-through: синхронная запись в кеш и БД, свежий кеш, медленнее запись

  • Write-behind: асинхронная запись в БД, быстро, риск потери

  • Выбор зависит от соотношения чтения и записи и цены устаревших данных

Что могут спросить следом

  • Почему при обновлении ключ лучше удалять?
  • Где write-behind оправдан?

Разбор

Основная стратегия cache-aside: читаем кеш, при промахе идём в БД и кладём результат с TTL, при изменении пишем в БД и удаляем ключ. Read-through то же самое, но логику загрузки берёт на себя библиотека или кеш. Write-through пишет и в кеш, и в БД синхронно: кеш свежий, но запись дороже. Write-behind подтверждает запись после кеша и сбрасывает в БД пачками: очень быстро, подходит для счётчиков и метрик, где потеря части не критична, но не для денег. Для большинства продуктовых данных хватает cache-aside с TTL и удалением ключа при записи.

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

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