Cache-Aside управляется приложением, Read-Through загружает данные через слой кеша, а Write-Behind подтверждает запись в кеш до асинхронной записи в основное хранилище.
В чём разница между стратегиями кэширования Cache-Aside, Read-Through и Write-Behind (Write-Back)? Каковы риски потери данных в последней?
Cache-Aside управляется приложением, Read-Through загружает данные через слой кеша, а Write-Behind подтверждает запись в кеш до асинхронной записи в основное хранилище.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Cache-Aside управляется приложением, Read-Through загружает данные через слой кеша, а Write-Behind подтверждает запись в кеш до асинхронной записи в основное хранилище.
При Cache-Aside приложение читает кеш, при промахе обращается к БД и заполняет кеш. В Read-Through эта логика скрыта внутри кеширующей обёртки. Write-Behind уменьшает задержку и позволяет объединять записи, но сбой до долговечного сохранения может потерять подтверждённые изменения. Нужны журнал или устойчивая очередь, контроль порядка, повторов и отставания. Репликация кеша сама по себе не означает гарантированную долговечность. Отдельно продумывают согласованность чтения и поведение при недоступности БД.