The story
Rosa’s farm-box delivery does eighty percent of its orders between five and eight pm — the same three hours her site used to be slowest. Hungry customers browsing forty products at once is a database stress test scheduled daily.
The complication is stock: six bunches of asparagus means six, and a cached “in stock” lie ruins dinner and trust together. So Rosa never cached anything — and the dinner rush stayed slow for years.
The real answer splits the page: the catalogue serves as cached HTML while stock levels stay live through the object cache and excluded fragments. Browsing is instant, the asparagus count is honest, and five-to-eight is now just the busy part of the day.