Além do básico cache-aside, existem várias estratégias de cache — cache-aside, write-through, write-behind, read-through — cada uma com diferentes trade-offs de consistência e desempenho. Entendê-las (e as políticas de evicção) ajuda você a projetar caching eficaz.
Cache-aside (lazy loading — mais comum)
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 e 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
