Инвалидация кэша — поддержание согласованности кэшированных данных с источником истины — по праву считается одной из самых сложных проблем в информатике. Задача заключается в том, чтобы кэш не выдавал устаревшие данные, одновременно балансируя производительность, согласованность и сложность. Существует несколько стратегий и типичных ошибок, которые стоит понимать.
Основная проблема
When the source data changes, the cached copy becomes STALE.
→ Serve stale data? (fast but wrong) vs invalidate? (consistent but complex/slower)
→ "There are only two hard things in CS: cache invalidation and naming things."
The difficulty: knowing WHEN and WHAT to invalidate, across distributed systems,
without races, while keeping good cache hit rates.
