วางเลเยอร์ cache-aside (Redis/Memcached) ไว้หน้า DB เพื่อให้การอ่านชน memory, ให้ entry มี TTL และ invalidate ตอนเขียน, เพิ่ม stampede protection เพื่อไม่ให้ key ที่เย็นปล่อย thundering herd ใส่ DB และกระจาย hot key ข้าม replica เพื่อไม่ให้ key ยอดนิยมหนึ่งอันละลาย node เดียว
┌── hit ──▶ return value
request ──▶ cache│
└── miss ─▶ lock ─▶ DB read ─▶ set(TTL) ─▶ return
│
(only ONE miss populates; others wait)
DB writes ──▶ invalidate/update key
