Lesson 1.27mIntermediate14k students

Caching layers and invalidation

Caching is the cheapest performance win and the most common source of confusing bugs. Decide where it lives and what invalidates it before you add it.

This lesson sits in Core Building Blocks, part of System Design Foundations. It assumes what came before it and leads directly into the next lesson in the module.

In this lesson you will

  • Place caches at the edge, application, or data layer
  • Choose a write strategy and an eviction policy
  • Plan invalidation before you plan the cache

Pro tip

Design the invalidation path first. A cache you cannot invalidate is a bug with a latency benefit.

Resources