🧠 Memory Cache
Quando começamos a desenvolver aplicações que acessam banco de dados, APIs externas ou cálculos pesados, uma das primeiras otimizações…
🧠 Memory Cache
Quando começamos a desenvolver aplicações que acessam banco de dados, APIs externas ou cálculos pesados, uma das primeiras otimizações importantes que aparece é cache.
E entre todos os tipos de cache, o Memory Cache é normalmente o primeiro que usamos.
Ele é simples, extremamente rápido e resolve muitos problemas de performance.
📦 O que é Memory Cache
Memory Cache é um mecanismo que armazena dados na memória RAM da aplicação para evitar recomputações ou consultas repetidas.
Ou seja:
Em vez de buscar dados sempre do banco ou de outra API, você guarda o resultado temporariamente em memória.
📈Quando você DEV considerar usar cache?
- Dados acessados com frequência: Um perfil de usuário muito popular, a lista de produtos mais vendidos, configurações do sistema.
- Dados que são caros de gerar: Resultados de cálculos complexos, relatórios, ou respostas de APIs externas que têm limite de taxa (rate limit).
- Dados que não mudam com frequência (ou que podem ficar um pouco desatualizados): Uma lista de categorias de produtos, um post de blog, artigos.
🧩 Tipos de Cache
Existem vários tipos de cache em arquitetura de software.
Memory Cache (In-Memory)
Cache local da aplicação.
Características:
- extremamente rápido
- simples de implementar
- perde dados se a aplicação reiniciar
- não é compartilhado entre instâncias
Distributed Cache
Cache compartilhado entre múltiplas instâncias.
Exemplos:
- Redis
- Memcached
Application Cache
Cache usado dentro da lógica da aplicação.
Exemplo:
- resultado de cálculos
- tokens
- configurações
🧠 Como o Memory Cache funciona
A estrutura básica é um Map ou HashMap.

Toda informação no cache é acessada por uma chave única.
Cache não pode viver para sempre.
Caso contrário você terá dados desatualizados.
Principais estratégias:
TTL (Time To Live) -> Define quanto tempo o cache dura.
Sliding Expiration -> O tempo reinicia a cada acesso.
Manual Invalidation -> Quando algo muda no banco, você remove o cache.
⚠️ Problemas comuns com cache
Cache resolve muitos problemas, mas também cria outros.
- Cache Stale (dados velhos)
- Cache stampede (Quando o cache expira e mil requisições batem no banco ao mesmo tempo.)
- Memory Leak (Cache sem expiração pode crescer infinitamente.)
👑 Dicas da Carol
- Sempre use TTL
- Cache apenas leituras
- Invalidar cache em updates
- Monitore memória
- Cache não substitui banco de dados. Ele apenas reduz o número de acessos ao banco.
메타데이터
- post_id
- 596c08aaaef1
- slug
- memory-cache-596c08aaaef1
- url
- https://medium.com/@carolinarodriguesutsch/memory-cache-596c08aaaef1
- canonical_url
- https://medium.com/@carolinarodriguesutsch/memory-cache-596c08aaaef1
- author_url
- https://medium.com/@carolinarodriguesutsch
- status
- ok
- fetched_at
- 2026-08-08 07:34:52