Invalidação de cache — manter dados em cache consistentes com a fonte de verdade — é famosamente um dos problemas mais difíceis da computação. O desafio é garantir que caches não sirvam dados obsoletos enquanto equilibram desempenho, consistência e complexidade. Várias estratégias e armadilhas valem a pena ser compreendidas.
O problema central
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.
