Redis
Fluxo
- Definir finalidade do dado, source of truth, consistência e tolerância à perda.
- Estimar cardinalidade, tamanho, taxa, TTL e padrão de acesso.
- Escolher estrutura e chave com namespace estável.
- Projetar stampede, invalidação, retry, idempotência e falha do Redis.
- Configurar limites de memória, eviction e persistência conforme o caso.
- Testar concorrência, expiração, indisponibilidade e recuperação.
- Medir hit rate, latência, memória, conexões e hot keys.
Padrões
- Dar TTL a caches e definir quem invalida cada chave.
- Evitar comandos bloqueantes e varreduras globais no caminho de produção.
- Usar operações atômicas ou Lua quando a invariância exigir.
- Tratar locks distribuídos como leases com timeout e ownership verificável.
- Separar namespaces e políticas de eviction de workloads incompatíveis.
- Não serializar objetos sem versão nem armazenar segredos desnecessários.
- Confirmar semântica de entrega e reprocessamento em filas ou streams.
Validação
- Exercitar miss, hit, expiração, stampede e Redis indisponível.
- Verificar limites, eviction, persistência e failover em ambiente representativo.
- Observar
INFO, slow log e métricas do cliente sem expor valores sensíveis. - Comparar comportamento com e sem cache para preservar correção.
Leia references/standards.md para estruturas, persistência, cluster, segurança e padrões de cache.