Designs caching across layers (client, CDN, app, database) reasoning about invalidation, coherence, and stampede protection. Use when adding caching, debugging stale data, sizing a cache, choosing a write policy, or when read load or latency requires a cache tier.