Invalidation & Consistency
What is the 'Cache Invalidation' problem, and why is it considered one of the 'two hard things' in computer science?
How does using a versioned key (e.g., user:v2:123) help with cache invalidation during a schema change or deployment?
What is the difference between Strong Consistency and Eventual Consistency in a multi-node cache cluster?
Explain the concept of 'Eventual Consistency' in the context of a cache-aside pattern.
Explain the 'Cache Coherence' problem when using local caches across multiple application instances.
If your system requires strong consistency, can you still use a cache, and what are the trade-offs in latency if you do?
How do you propagate cache invalidation across multiple distributed cache nodes or application instances (e.g., via pub/sub or broadcast messages)?