Definição completa
Cache é uma camada de armazenamento temporário que guarda resultados de operações custosas (consultas ao banco, chamadas de API, cálculos) para servir requisições futuras mais rapidamente. Pode ser implementado em memória (Redis, Memcached), no navegador (Service Worker, HTTP Cache) ou no CDN. Os principais desafios são definir o tempo de expiração (TTL) e garantir a invalidação correta quando os dados mudam.
Exemplo de código
// Cache com Redis no Node.js
import { createClient } from 'redis';
const redis = createClient();
await redis.connect();
async function buscarUsuario(id: string) {
const chave = `usuario:${id}`;
// Tenta buscar do cache
const cached = await redis.get(chave);
if (cached) return JSON.parse(cached);
// Busca do banco e armazena por 5 minutos
const usuario = await db.usuario.findUnique({ where: { id } });
await redis.setEx(chave, 300, JSON.stringify(usuario));
return usuario;
}