Что такое cache invalidation?

Middle+
713 просмотров
AFK Offer AI

Cache invalidation — одна из двух сложнейших проблем в программировании (вторая — именование переменных). Суть: когда данные в базе изменились, кэш содержит устаревшие данные и нужно его обновить или удалить. Стратегии: TTL (удалять по таймеру), event-based (при UPDATE в базе удаляешь ключ из кэша), version-based (меняешь ключ кэша при изменении). Главная ловушка — race condition: два запроса одновременно инвалидируют и перезаписывают кэш, и в итоге в кэше оказываются старые данные. Решение — используй delete, а не set при инвалидации, и позволяй следующему читателю заполнить кэш.

Следующий вопрос

Как работает GROUP BY?