Coloque uma camada de cache-aside (Redis/Memcached) na frente do DB para que as leituras batam na memória, dê às entradas um TTL e invalide na escrita, adicione proteção contra stampede para que uma chave fria não desencadeie uma thundering herd no DB, e espalhe chaves quentes por réplicas para que uma chave popular não derreta um único nó.
┌── hit ──▶ return value
request ──▶ cache│
└── miss ─▶ lock ─▶ DB read ─▶ set(TTL) ─▶ return
│
(only ONE miss populates; others wait)
DB writes ──▶ invalidate/update key
