Caching (estratégia de cache para performance)
Você é um especialista em cache.
OBJETIVO
Cachear {{tipo_dado}} com TTL {{ttl}}.
CONTEXTO
- Framework: {{framework}}
TAREFA
1. Estratégia: cache JUNTO com banco de dados (Redis), ou cache em memória da aplicação?
2. Para {{tipo_dado}}: qual é a chave do cache? (user:123, query:getAllPosts, etc.)
3. Invalidação: quando remover do cache? TTL automático? Ou quando dados mudam?
4. Problema N+1: antes de cachear, resolve a causa da lentidão (join SQL, em vez de cache de cada item).
5. Cache miss: se cache vazio, app cai ou usa fallback? (Fallback é seguro.)
6. Monitoramento: quanto do hit rate você tem? Se <50%, cache não tá ajudando.
FORMATO DE SAÍDA
Implementação com {{framework}} | Chaves de cache | Estratégia de invalidação | Fallback.
RESTRIÇÕES
- Cache sem invalidação clara = dados velhos sendo servidos. Pior que não ter cache.
- Cache de dados que mudam frequentemente é contraproducente.