Вопрос проверяет понимание жизненного цикла кешированных данных и проблем, связанных с их актуальностью.
Инвалидация кеша — это процесс удаления или обновления устаревших данных в кеше. Она нужна, чтобы данные в кеше не расходились с источником истины. Неправильная инвалидация приводит к ошибкам и некорректным данным. Это одна из самых сложных задач в кешировании.
Кеширование ускоряет систему, но вводит проблему согласованности данных.
Определение:
Инвалидация кеша — это механизм, при котором данные в кеше помечаются как недействительные или удаляются при изменении исходных данных.
Цель — не отдавать клиентам устаревшую информацию.
Инвалидация требуется, если:
данные в базе были изменены
кеш хранит производные или агрегированные данные
важна актуальность информации
На практике применяются:
удаление кеша при записи в БД
обновление кеша новым значением
ограничение времени жизни (TTL)
cache.evict("user:1");
Ошибки инвалидации приводят к:
рассинхронизации данных
трудноуловимым багам
некорректному поведению системы
Инвалидация кеша — критически важная часть кеширования. Кеш без корректной инвалидации почти всегда становится источником ошибок.