Стратегии работы с кэшем
Ранее мы описывали процесс кэширования. В этом материале рассмотрим подходы к работе с кэшем.
Стратегии чтения данных
Кэширование на стороне (Cache Aside)
- Приложение запрашивает данные из кэша.
- Если данные отсутствуют, приложение запрашивает их из базы данных (БД).
- После получения данные записываются в кэш для последующих запросов.
Обновление кэша: только после запроса данных из БД.
Плюсы:
- Простота реализации.
- Контроль за кэшированием на уровне приложе ния.
Минусы:
- Кэш может устареть, если данные изменяются в базе.
Пример: каталог товаров в интернет-магазине. При запросе карточки товара данные сначала проверяются в кэше, а при отсутствии запрашиваются из базы и сохраняются в кэше.
Сквозное чтение (Read Through)
- Приложение запрашивает данные только из кэша.
- Если данных нет, кэш сам обращается к БД, извлекает данные, возвращает их приложению и сохраняет в кэше.
Обновление кэша: автоматически при первом запросе данных из БД.
Плюсы:
- Облегчает работу приложения.
- Данные автоматически кэшируются при первом запросе.
Минусы:
- Задержка при первом запросе.
Пример: новостной сайт, где статьи хранятся в кэше. Если статья отсутствует, кэш автоматически получает её из базы, обновляет и передает пользователю.