cosmicstack-labs/caching-strategies
CDN, Redis, in-memory cache, cache invalidation, and distributed caching patterns
npx skills add https://github.com/cosmicstack-labs/mercury-agent-skills --skill caching-strategies
Cache effectively to improve performance and reduce load.
| Layer | Latency | Storage | Examples |
|-------|---------|---------|----------|
| Browser | Local | Small | localStorage, HTTP cache |
| CDN | Regional | Large | CloudFront, CloudFlare, Fastly |
| Application | In-process | Small | L1 cache (heap) |
| Distributed | Network | Large | Redis, Memcached |
| Database | Same host | Very large | Buffer pool, query cache |
1. Check cache → miss
2. Query database
3. Store in cache
4. Return
Best for: Read-heavy, general purpose.
1. Write to cache
2. Cache writes to DB (sync)
3. Return
Best for: Consistency critical, write-heavy.
1. Write to cache
2. Return immediately
3. Cache writes to DB (async)
Best for: High throughput writes, eventual consistency OK.
Two hard things: naming, cache invalidation, off-by-one errors.
| Strategy | How | Risk |
|----------|-----|------|
| TTL | Expire after X seconds | Stale data during TTL |
| Event-based | Invalidate on data change | Missed events |
| Version keys | user_42_v3 | Unused old keys accumulate |
| Write-through | Update cache on write | Write amplification |
EXPIRE on every SETSCAN not KEYS in productionTake cosmicstack-labs/caching-strategies from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.