node-cache: Cacheamento Simples e Eficiente em Node.js

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course
```html

O que é node-cache?

node-cache é uma biblioteca leve para cache interno de dados em aplicações Node.js. Ela funciona como um in-memory store (armazenamento em memória RAM), permitindo salvar temporariamente resultados de cálculos, respostas de APIs ou dados de bancos de dados, para não precisar executar operações pesadas repetidamente.

Por que o cache é necessário em JavaScript?

O cache é criticamente importante para a performance. Sem ele, cada requisição ao servidor pode levar a chamadas repetidas a serviços externos, consultas ao BD ou cálculos complexos. O node-cache resolve este problema armazenando dados em memória com um tempo de vida definido (TTL). Isso reduz a carga no servidor e diminui o tempo de resposta em 2 a 5 vezes para dados frequentemente solicitados.

Instalação

Para instalar a biblioteca, execute o comando na raiz do seu projeto:

npm install node-cache

Após a instalação, importe o módulo no código:

const NodeCache = require('node-cache');

Funções principais

  • set(key, value, [ttl]) — armazena um valor por chave com tempo de vida opcional em segundos.
  • get(key) — retorna o valor armazenado ou undefined se a chave não for encontrada ou tiver expirado.
  • has(key) — verifica a existência da chave (retorna true/false).
  • del(key) — remove uma ou mais chaves.
  • flushAll() — limpa todo o cache.
  • keys() — retorna um array com todas as chaves ativas.
  • getStats() — estatísticas: hits, misses, keys, ksize e vsize.

Exemplo de código em Node.js

const NodeCache = require('node-cache');const myCache = new NodeCache({ stdTTL: 600, checkperiod: 120 });

// Armazenando dadosmyCache.set('user_123', { name: 'Alice', role: 'admin' }, 300);

// Recuperandoconst user = myCache.get('user_123');if (user === undefined) { console.log('Cache vazio, buscando do BD');} else { console.log('Dados do cache:', user);}

// Estatísticasconsole.log(myCache.getStats());// { hits: 1, misses: 0, keys: 1, ksize: 8, vsize: 32 }

Quando usar node-cache?

A biblioteca é ideal para:

  • Cache de respostas de API — evite requisições repetidas a serviços externos (ex.: clima, taxas de câmbio).
  • Resultados de cálculos pesados — armazene o resultado do processamento de dados por 5 a 10 minutos.
  • Dados de sessão — armazenamento temporário de tokens ou configurações do usuário.
  • Cache intermediário entre microsserviços — redução de chamadas de rede.

Importante: node-cache não é adequado para sistemas distribuídos (funciona apenas na memória de um único processo). Para cache distribuído, use Redis ou Memcached.

Conclusão

node-cache é uma solução minimalista e confiável para cache in-memory em Node.js. Ela não requer configuração de serviços externos, é fácil de integrar e acelera significativamente a aplicação. Comece a usá-lo hoje mesmo, adicionando apenas algumas linhas de código.

```

Recommendations