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-cacheApó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.
```Também na biblioteca
Mockery para PHP: guia completo com exemplos práticos
Programação Reativa em Swift: Combine e RxSwift para iOS/macOS
Aprendizado de Máquina em C# (.NET): Visão Geral de Bibliotecas e Ferramentas
Criptografia em Swift: criptografia e hash para iOS/macOS
gRPC em Rust: bibliotecas Tonic e Grpc-rs com exemplos