# Padroes cache aplicacao: 9 tecnicas para reduzir latencia

> Padrões de cache de aplicação são estratégias de armazenamento temporário de dados para reduzir latência em sistemas. O guia apresenta nove técnicas essenciais, incluindo cache-aside, read-through, write-through e write-behind, com critérios de seleção baseados em consistência, volatilidade e custo. A escolha do padrão adequado depende do perfil de leitura e escrita da aplicação.

*Blog Sem Juízo · Destaques · 07 de agosto de 2026 · Babi Cordeiro*

Padroes de cache aplicacao sao estrategias para armazenar dados temporarios e reduzir latencia. Neste guia, veja 9 tecnicas essenciais, da cache-aside ao write-behind, com criterios para escolher a ideal.

Padroes de cache aplicacao sao estrategias para guardar dados temporarios em memoria ou disco, evitando idas desnecessarias ao banco ou a APIs externas. Quando bem aplicados, cortam a latencia de milissegundos para microssegundos. Mas nao existe bala de prata: cada padrao resolve um problema e cria um trade-off. Abaixo, os 9 mais usados, do mais simples ao mais sofisticado.

## 1. Cache-aside (lazy loading)

O aplicativo consulta o cache primeiro. Se nao achar, busca na fonte, popula o cache e devolve. Simples e eficiente para leituras frequentes. O risco: dados podem ficar obsoletos se a fonte mudar sem avisar. Use com TTL (tempo de vida) curto para minimizar.

## 2. Read-through

Semelhante ao cache-aside, mas a logica de busca e populamento fica dentro da camada de cache, nao no codigo da aplicacao. O cache se comporta como um proxy: se a chave nao existe, ele busca na fonte, grava e responde. Menos codigo no app, mas exige uma biblioteca que suporte isso.

## 3. Write-through

Cada escrita vai primeiro para o cache e depois para o banco. Garante que o cache esteja sempre atualizado, mas adiciona latencia na escrita. Ideal quando leitura e escrita sao equilibradas e a consistencia imediata importa mais que a velocidade de escrita.

## 4. Write-back (write-behind)

A escrita vai so para o cache e, assincronamente, e persistida no banco. Reduz drasticamente a latencia de escrita, mas ha risco de perda de dados se o cache cair antes da sincronizacao. Use quando a durabilidade pode ser relaxada, como em contadores de visualizacao.

## 5. Write-around

Combina cache-aside para leitura e escrita direta no banco. O cache so e populado quando ha um miss. Evita poluir o cache com dados que nunca serao lidos, mas leituras imediatamente apos escrita podem falhar. Bom para dados de baixa frequencia de acesso.

## 6. TTL (time-to-live) com expiracao

Nao e um padrao isolado, mas uma politica essencial. Cada chave tem um tempo de vida; ao expirar, o cache e recarregado. Define o equilibrio entre frescor e performance. TTL muito curto anula o cache; muito longo serve dados velhos.

## 7. Eviction (politica de remocao)

Quando o cache enche, algo precisa sair. FIFO (primeiro a entrar, primeiro a sair), LRU (menos recentemente usado) e LFU (menos frequentemente usado) sao os comuns. LRU costuma ser o melhor custo-beneficio para a maioria dos casos, mas exige medicao do padrao de acesso.

## 8. Cache de invalidade por evento

Em vez de TTL, o proprio aplicativo invalida a chave quando a fonte muda. Garante consistencia forte, mas exige que o codigo saiba quando algo mudou. Em sistemas distribuidos, vira um problema de sincronizacao. Use com mensageria ou eventos de dominio.

## 9. Cache distribuido

Quando uma instancia so nao resolve, usa-se um cache compartilhado (Redis, Memcached). Todas as instancias leem o mesmo cache, evitando duplicacao e inconsistencia. O custo: uma chamada de rede extra, que ainda e mais rapida que ir ao banco.

## Qual escolher?

Comece com cache-aside e TTL. Se a escrita for frequente, adicione write-through ou write-back. Se a consistencia for critica, invalide por evento. Teste com metricas reais: latencia percentil 95 e taxa de hit. Sem medicao, qualquer padrao e chute.

## FAQ

### O que e um padrao de cache em aplicacao?

E uma estrategia predefinida para armazenar e recuperar dados temporarios, reduzindo o acesso a fontes lentas. Cada padrao define quando o cache e populado, atualizado e removido. Exemplos: cache-aside, read-through, write-through.

### Qual a diferenca entre cache-aside e read-through?

No cache-aside, o codigo da aplicacao gerencia a logica de buscar e popular o cache. No read-through, essa logica fica na propria camada de cache, que busca a fonte automaticamente em caso de miss. O read-through exige suporte da biblioteca.

### Como reduzir a latencia com cache?

Identifique as leituras mais frequentes e demoradas, aplique cache-aside com TTL adequado e meca o impacto no percentil 95. Evite cacar tudo indiscriminadamente, pois isso aumenta a complexidade e o risco de dados obsoletos.

### O que e TTL em cache?

Time-to-live: o tempo que um item fica valido no cache antes de expirar. Ao expirar, a proxima leitura busca na fonte e atualiza o cache. TTL curto traz dados mais frescos, TTL longo melhora a performance, mas pode servir dados antigos.

### Qual a melhor politica de remocao de cache?

Depende do padrao de acesso. LRU (menos recentemente usado) e a mais comum e eficiente para a maioria dos casos. LFU funciona bem quando alguns itens sao muito mais acessados. FIFO e simples, mas pode remover dados ainda uteis.

### Cache distribuido vale a pena?

Sim, quando a aplicacao roda em multiplas instancias e precisa de consistencia. Redis e Memcached sao opcoes populares. O custo e uma chamada de rede, que ainda e mais rapida que um acesso ao banco, mas nao deve ser usada para dados minusculos.

---

Fonte (canonical): https://blogsemjuizo.com.br/destaques/padroes-cache-aplicacao-9-tecnicas-para-reduzir-latencia/
