What is a cache stampede (dogpile) and how do you mitigate it?
PICTURE THIS: DJANGO MVT
Simple meaning
A stampede is many requests missing the same expired key and all recomputing it at once.
WHY — Caching instead of guessing?
Why interviewers care about Caching:
who only read docs from people who shipped.
and tied to Python work.
Name the idea, why it exists, then one short example.
End with when you use it and one common pitfall.
STEPS — What happens step by step?
Before you speak the answer, walk the interviewer through these steps:
- 1A stampede is many
requests missing the same expired key and all recomputing it at once.
- 2Mitigations include locking around
regenerate, serving stale while recompute (soft timeouts), and probabilistic early expiry.
- 3Django does not solve
this by default
- 4you add it in
the cache helper.
- 5Common mistake
What juniors usually get wrong.
- 6Close
When you pick this over the alternative.
EXAMPLE — See it in action
Here's a short line you can speak, broken into clear beats:
Note: Adapt this scaffold to your own project — keep it under 60–90 seconds.
Key takeaway
A stampede is many requests missing the same expired key and all recomputing it at once. Mitigations include locking around regenerate, serving stale while recompute (soft timeouts), and probabilistic early expiry.