Estratégia de Cache: Otimização de Desempenho Multicamada
Este artigo explica como usamos cache em todas as camadas para fornecer carregamentos de página rápidos globalmente.
O Problema: Requisições Sem Cache São Lentas
Sem cache, cada carregamento de página requer:
-
Consultas ao banco de dados: Buscar dados de produtos, níveis de estoque, preços
-
Chamadas de API: Serviços externos para taxas de envio, pagamentos
-
Computação: Cálculos de preço, verificações de disponibilidade
-
Carregamento de imagens: Imagens de produtos, miniaturas
O cache elimina trabalho repetido armazenando resultados para reutilização.
A Solução: Cache Multicamada
Nós fazemos cache em cinco camadas:
- Cache do navegador: O dispositivo do usuário armazena ativos estáticos
- Cache da CDN: Locais de borda do CloudFront armazenam conteúdo em cache globalmente
- Cache da aplicação: O Valkey armazena dados acessados frequentemente
- Cache do banco de dados: O Valkey fica na frente do banco de dados
- Cache de IA: O DeepSeek armazena em cache prompts do sistema
Camadas de Cache
Cache do Navegador (CloudFront)
O CloudFront fornece cache do navegador com TTLs apropriados:
-
Imagens: TTL longo (24-72 horas)
-
CSS/JS: Versionado com cache-busting
-
Respostas da API: TTL curto ou sem cache
Cache da CDN (CloudFront)
O CloudFront armazena conteúdo em cache nos locais de borda:
-
Ativos estáticos: Imagens de produtos, CSS, JS
-
Páginas de produto: TTL de 24 horas
-
Páginas de consulta: TTL de 24 horas
-
Respostas da API: Sem cache
Cache da Aplicação (Valkey)
O Valkey fornece cache em memória:
-
Sessões: Sessões de usuário com expiração deslizante
-
Consultas populares: Termos mais pesquisados
-
Autocompletar: Sugestões de pesquisa
-
Contagens de produtos: Disponibilidade de estoque
-
Mapeamentos de frases: Dados de extração de filtros
Cache do Banco de Dados
O Valkey fica na frente do banco de dados:
-
Dados do produto: Em cache para desempenho
-
Custos de peças: Em cache para cálculos de preço
-
Listas de SKU: Em cache para listagens de produtos
-
Manifestos de imagem: Em cache para carregamento de imagens
Cache de IA (DeepSeek)
O DeepSeek fornece cache de prompts:
-
Prompts do sistema: Em cache para eficiência
-
Acertos no cache: Reduzem o uso de tokens
-
Falhas no cache: Geram novo conteúdo
Cache de Tradução
O cache de tradução usa múltiplas camadas:
-
Valkey: Tabelas de frases em cache na memória
-
Arquivos: Tabelas de frases armazenadas persistentemente em arquivos JSON
-
Fallback: Cache legado baseado em hash para compatibilidade com versões anteriores
Invalidação de Cache
Invalidamos os caches quando:
-
Atualizações de produto: Invalidam caches de produto
-
Mudanças de estoque: Invalidam caches de contagem de estoque
-
Atualizações de conteúdo: Invalidam caches de página
-
Atualizações de tradução: Invalidam caches de tradução
Organização do Cache
Os caches do Valkey são organizados por função:
-
Sessões: Estado de autenticação do usuário
-
Autocompletar: Dados de sugestão de pesquisa
-
Consultas populares: Termos pesquisados frequentemente
-
Mapeamentos de frases: Dados de extração de filtros
-
Custos de peças: Dados de cálculo de preço
Resumo
Nossa estratégia de cache fornece:
-
Multicamada: Navegador, CDN, aplicação, banco de dados
-
Eficiente: Valkey para acesso rápido em memória
-
Inteligente: Cache de prompts de IA para economia de custos
-
Confiável: Múltiplos mecanismos de fallback