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