Your cache hit rate can be 99% and your database can still fall over. I got reminded of this during a load test recently: the dashboard showed a wall of cache hits, and yet the database briefly lit up with a burst of identical queries. Same key, same query, fifty times, all inside a couple hundred milliseconds. That burst has a name, cache stampede, and the annoying part is that the standard IMemoryCache pattern we all write does nothing to stop it.
So I built a small demo to catch it in the act.
The demo
One minimal API, two endpoints, same fake database. The fake database counts every call and takes ~200 ms, like a real query under load. The app starts itself on a random port, then fires 50 concurrent requests at each endpoint with a cold cache. My project targets net10.0, but nothing here is new to .NET 10 — HybridCache has been stable since .NET 9.
Here's the endpoint most of us have written a hundred times:







