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:

  1. Cache do navegador: O dispositivo do usuário armazena ativos estáticos
  2. Cache da CDN: Locais de borda do CloudFront armazenam conteúdo em cache globalmente
  3. Cache da aplicação: O Valkey armazena dados acessados frequentemente
  4. Cache do banco de dados: O Valkey fica na frente do banco de dados
  5. 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:

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