Postaw warstwę cache-aside (Redis/Memcached) przed DB, aby odczyty trafiały w pamięć, nadaj wpisom TTL i unieważniaj przy zapisie, dodaj ochronę przed stampede, aby zimny klucz nie rozpętał thundering herd na DB, i rozłóż gorące klucze na repliki, by jeden popularny klucz nie stopił pojedynczego węzła.
┌── hit ──▶ return value
request ──▶ cache│
└── miss ─▶ lock ─▶ DB read ─▶ set(TTL) ─▶ return
│
(only ONE miss populates; others wait)
DB writes ──▶ invalidate/update key
