← Back to list

🧠 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…

Carolina Utsch · 2026-03-16 17:05 · 0 claps · 1.6 min read
#in-memory-cache
Open on Medium ↗

🧠 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