Poza podstawowym cache-aside, istnieje kilka strategii cache'owania — cache-aside, write-through, write-behind, read-through — każda z innymi kompromisami spójności i wydajności. Zrozumienie ich (i zasad eksmisji) pomaga projektować efektywne cache'owanie.
Cache-aside (lazy loading — najczęstsze)
App checks cache → miss → load from DB → populate cache → return.
✓ Only requested data is cached (efficient); resilient (works if cache is down)
✗ First request is a miss (slower); cache can be stale until TTL/invalidation
→ The default, most common strategy.
Write-through i write-behind
WRITE-THROUGH → write to cache AND DB together (synchronously) on every write
✓ Cache always fresh/consistent ✗ Writes are slower (two writes); caches unread data
WRITE-BEHIND (write-back) → write to cache immediately, write to DB ASYNC later
✓ Fast writes ✗ Risk of data loss if cache fails before the DB write; more complex
