Chapter

Caching patterns and invalidation

The thinking behind caching: why we cache, the cache-aside pattern, TTL vs explicit invalidation, why invalidation is genuinely hard, and how to avoid stampedes and classic mistakes.

Redis Basics 7 Lessons from courses

About this chapter

This is the heart of the course. You already know the Laravel Cache tools; now you learn how to think with them - when to cache, how to keep a cache fresh, why cache invalidation is famously hard, and the strategies that keep it under control.

Lessons from courses

  1. 1 Why we cache Why caching matters: do expensive work once, master the speed-versus-freshness trade-off, and learn what makes a good cache candidate in Redis.
  2. 2 The cache-aside pattern The cache-aside pattern in Laravel: check the cache, compute on a miss, store, return - and why Cache::remember is this pattern in one line.
  3. 3 TTL vs explicit invalidation TTL vs explicit cache invalidation in Laravel: let entries expire on a timer or clear them on change. When each is enough, and why you want both.
  4. 4 Why cache invalidation is hard Why cache invalidation is hard, for real: stale reads, freshness vs correctness, copies scattered across layers, races, and knowing what to clear.
  5. 5 Invalidation strategies Five cache invalidation strategies in Laravel: delete-on-write, write-through, cache tags, versioned keys, and model-event busting - with trade-offs.
  6. 6 Cache stampede A hot cache key expires and every request rebuilds it at once, hammering the DB. Fix cache stampede with Cache::lock, jittered TTLs, and stale-while-revalidate.
  7. 7 Common caching mistakes Five caching mistakes that bite in production: no TTL, per-user data under a shared key, over-caching, cached errors, and unbounded key growth.
Redis Basics Go to course