---
title: "Comment by Abhinav Sharma on \"System Design Drill Day 2: Caching, TTLs and Cache Stampedes\" | Hashnode"
description: "The soft TTL with background refresh is the nicest answer here, the herd never forms because only one worker rebuilds while everyone else serves the stale copy."
url: "https://hashnode.com/posts/system-design-drill-day-2-caching-ttls-and-cache-stampedes/6ad732771e0bcca489a2809b/comment/6ad7d77d000d92665d23aac3"
---

[Discussion](https://hashnode.com/posts/system-design-drill-day-2-caching-ttls-and-cache-stampedes/6ad732771e0bcca489a2809b)

Comment [System Design Drill Day 2: Caching, TTLs and Cache Stampedes](https://hashnode.com/posts/system-design-drill-day-2-caching-ttls-and-cache-stampedes/6ad732771e0bcca489a2809b)

[Abhinav Sharma](https://hashnode.com/@abhinavs1920)

[Oct 20](https://hashnode.com/posts/system-design-drill-day-2-caching-ttls-and-cache-stampedes/6ad732771e0bcca489a2809b/comment/6ad7d77d000d92665d23aac3)

The soft TTL with background refresh is the nicest answer here, the herd never forms because only one worker rebuilds while everyone else serves the stale copy. Picking TTLs per data type instead of one global value is also the part people usually skip.

[Anish Ansari](https://hashnode.com/@anish78)

[Oct 21](https://hashnode.com/posts/system-design-drill-day-2-caching-ttls-and-cache-stampedes/6ad732771e0bcca489a2809b/comment/6ad7d77d000d92665d23aac3#reply-6ad83cf7a6d3354092a50cb7)

Thanks Abhinav, soft TTL is my favourite fix too because readers get a slightly stale copy and MySQL never sees the spike. And yes, per data type TTLs are where most of the real tuning happens.
