← Voltar para publicações
Redis como Solução de Cache para E-commerce em Cidades Médias Brasileiras
Tempo estimado de leitura: ~10 minutos
Parte I: O Desafio do E-commerce nas Cidades do Interior
O Cenário: Campo Largo e o Brasil que Cresce Online
Campo Largo, município paranaense com aproximadamente 140 mil habitantes, a 30 km de Curitiba, representa o novo perfil de consumo digital. Cidades de médio porte (50–200 mil habitantes) impulsionam a compra online com retirada local — um comportamento que já chega a 35% das preferências em várias regiões.
Por Que a Retirada Local Importa?
- Desconfiança com entrega residencial — risco de extravio em portas.
- Flexibilidade — retirar no trajeto trabalho/casa.
- Economia de frete — descontos por retirada.
- Gratificação instantânea — comprar online, obter hoje.
- Verificação imediata — conferência antes de sair da loja.
O Problema Técnico Invisível
Como lidar com centenas de consultas simultâneas ao estoque quando clientes, operadores e integrações acessam ao mesmo tempo? Sem otimização: 180 usuários × 3 consultas → 540 queries/minuto a um banco relacional. Latência explode, telas travam, desistências aumentam.
A Matemática do Caos
- 500 pedidos recebidos/dia
- 300 retiradas/dia
- 180 usuários simultâneos no pico
- 12 operadores internos
Sem cache: tempo médio de query 200ms → usuários esperam 8–12s por tela; abandono ~40%; custos 3x maiores.
Por Que Bancos Relacionais Sofrem?
- Alta proporção de leituras (90%) vs escritas (10%).
- Dados mudam pouco minuto a minuto.
- Lock/índices pesam com volume.
- Parse + plano de execução a cada requisição.
O Que Precisávamos
- Cache inteligente.
- Invalidação automática.
- Distribuição multi-servidor (Tomcat + WildFly).
- Simplicidade de manutenção.
- Custo baixo.
Entrou o Redis.
Parte II: Redis — A Transformação na Arquitetura
O Que É Redis?
Redis é a “geladeira” do software: dados na RAM para acesso em milissegundos (contra centenas em disco). Resposta instantânea para leituras quentes.
Comparação de Alternativas
| Solução |
Prós |
Contras |
Decisão |
| Memcached | Simples, rápido | Sem persistência, primitivo | ❌ |
| Hazelcast | Distribuído, Java-native | Pesado, complexo | ❌ |
| EhCache | Fácil embutir | Não compartilha entre servidores | ❌ |
| Redis | Rápido, leve, Pub/Sub, TTL | Servidor extra | ✅ |
Arquitetura Implementada
Arquitetura simplificada
flowchart LR
A[Usuários\n180 simultâneos] --> B[Aplicação\nTomcat 9090 / WildFly 8080]
B --> C{Cache Redis\nTTL mapa 15s\nTTL KPIs 120s}
C -->|HIT 95% / 2ms| D[Resposta imediata]
C -->|MISS 5% / 200ms| E[PostgreSQL 5432\nPedidos / Estoque / Posições]
E --> C
subgraph PubSub
F[Operador retira pedido] --> G[Publica evento]
G --> H[Invalida chave cache]
end
H --> C
style C fill:#dc382d,stroke:#a32016,stroke-width:2,color:#fff
style E fill:#845EC2,stroke:#5e3e8d,stroke-width:2,color:#fff
style A fill:#2196f3,stroke:#0d47a1,stroke-width:2,color:#fff
style B fill:#ff9800,stroke:#e65100,stroke-width:2,color:#fff
style D fill:#4caf50,stroke:#2e7d32,stroke-width:2,color:#fff
style F fill:#ffeb3b,stroke:#f9a825,stroke-width:1
style G fill:#ffeb3b,stroke:#f9a825,stroke-width:1
style H fill:#ffeb3b,stroke:#f9a825,stroke-width:1
Fluxo: Usuários acessam aplicação (Tomcat/WildFly) que consulta Redis. Em HIT responde em 2ms; em MISS consulta PostgreSQL, atualiza cache. Eventos Pub/Sub de retirada invalidam chaves mantendo consistência.
Request → App → Redis (HIT 95%) → 2ms
↘ (MISS 5%) → PostgreSQL 200ms ↘ atualiza cache
Pub/Sub: retirada → mensagem → invalidação distribuída (<50ms)
3 Pilares
- TTL por tipo de dado
- Mapa 15s, KPIs 120s, Lead time 300s, Sessão 1800s
- Pub/Sub
- Sincroniza invalidação entre Tomcat e WildFly em milissegundos
- Fallback
- Redis caiu? Busca banco direto; funcionalidade preservada
Exemplo de Lógica (Pseudo-Java)
try {
var cache = redis.get("estoque:mapa");
if (cache != null) return cache; // HIT ~2ms
} catch (RedisConnectionException e) {
logger.warn("Redis indisponível - fallback DB");
}
var data = db.query("SELECT * FROM posicao WHERE tenant_id=1");
redis.set("estoque:mapa", data, 15); // TTL 15s
return data; // MISS ~200ms
Números Antes vs Depois
- Latência média: 1200ms → 85ms (14x melhor)
- Pico: 8500ms → 350ms (24x melhor)
- Queries/min: 540 → 27 (−95%)
- Abandono: 42% → 8% (−80%)
- CPU banco: 78% → 12%
Gráfico: Impacto do Redis (Baseline=100)
Visualização comparativa dos principais indicadores antes (100) e depois (redução percentual) da adoção do Redis.
Antes (baseline=100)
Depois (redução)
Os valores "Depois" mostram o percentual do original (ex.: latência média agora é ~7% do valor anterior).
Melhorias: latência média −93%, pico −96%, queries/min −95%, abandono −81%, CPU −84%.
Impacto no Negócio
- Cliente: telas instantâneas, mapa fluido.
- Operador: sem travamentos em pico.
- Gestor: infra 60% mais barata, escala sem reescrever.
Custos e ROI
- Implantação: R$ 9.500 (desenvolvimento + treinamento).
- Economia/ano: R$ 33.600 (infra + conversão + produtividade).
- Payback: ~3,5 meses.
Lições Principais
- Cache útil já com >100 usuários simultâneos.
- Defasagem de 10–30s é aceitável para 90% dos casos.
- Comece pequeno (estoque) e expanda.
- Hit rate monitorado guia otimizações.
- Documente TTLs e critérios de invalidação.
Epílogo: O Futuro do E-commerce no Interior
Cidades médias como Campo Largo, Várzea Grande e Maricá sustentam o crescimento do e-commerce com modelos híbridos: compra digital, retirada física. Arquiteturas enxutas com Redis permitem experiência de grande varejista com orçamento de operação média, escalando 10x sem reescrever núcleo.
Se sua operação tem picos previsíveis, muitas consultas de estoque e orçamento limitado — cache não é luxo, é necessidade.
Sobre o CaraCore Hub
CaraCore Hub é a plataforma logística da Cara Core Informática focada em retirada local e estoque em tempo quase real.
Recursos:
- Mapa visual de posições
- Gestão multi-marketplace (Mercado Livre, Shopee, Temu)
- Inventário sincronizado
- Dashboards com KPIs
- Arquitetura escalável (Tomcat + WildFly + PostgreSQL + Redis)
- Deploy Docker
Tecnologias: Java 17, Jakarta EE 10, PostgreSQL 16, Redis 7, Bootstrap 5, REST APIs.
Apresentação pública: chmulato.github.io/caracore-hub
Código fonte proprietário e privado — Cara Core Informática.
Hashtags
#Redis #Cache #Ecommerce #RetiradaLocal #Performance #Escalabilidade #CaraCoreHub #CaraCoreInformática #TTL #PubSub
Contato
🤝 Gostou do conteúdo?
Siga para mais arquitetura prática e otimização de operações digitais.
Seguir no LinkedIn
Artigo técnico | 02 de dezembro de 2025 | CaraCore Hub v2.4
© 2025 Cara Core Informática. Todos os direitos reservados.