Skip to content
All insights
ArchitecturePerformance4 min read

Caching invalidation: just say no

If you can solve a performance problem without adding a cache, do that. Caches are the source of more outages than the problems they solved.

Caching is a deal you make with future you. You get faster reads now, in exchange for owning every cache invalidation bug for the rest of the system's life. It's a worse deal than it looks, especially the first time you reach for it.

Try these first

  • Index the database properly.
  • Optimize the query that's actually slow.
  • Move computation to write-time, not read-time.
  • Denormalize where it actually matters.

When caching is actually right

Read-heavy data that changes infrequently. Expensive computations that have a clear key. Cases where stale data is acceptable for a known window. If any of those don't hold, you're signing up for invalidation bugs for an unclear payoff.

Add caches like you'd add diet pills — only when the simpler thing has failed.

Most operations are behind where they could be.

Book a strategy call. We'll map one system worth automating in the next 30 days. No pitch, just the plan.