Repolode
isaacs

isaacs/node-lru-cache

Um cache LRU em JavaScript que remove os itens menos usados recentemente ao atingir o limite configurado de quantidade, tamanho ou TTL.

Estrelas
5,918
Forks
380
Issues abertas
15
Último commit
mês passado

O que é?

lru-cache é um objeto de cache em JavaScript que mantém uma quantidade definida de itens acessados mais recentemente e remove os menos usados quando novas entradas ultrapassam o limite. Funciona no Node.js e em navegadores, e pode ser instalado pelo npm.

Além da remoção LRU básica, o cache oferece limites opcionais para o tamanho total armazenado, usando uma função de cálculo de tamanho; expiração por TTL por entrada ou para o cache inteiro; um callback dispose para limpar itens removidos; e um método fetch assíncrono com comportamento stale-while-revalidate. Chaves que não são strings são aceitas com base na identidade do objeto. A biblioteca é principalmente um cache LRU, não um cache de TTL, e não remove proativamente os itens expirados, a menos que isso seja configurado.

O pacote fornece tipos TypeScript, instrumentação pelo diagnostics channel nas plataformas compatíveis e uma seção documentada sobre desempenho que compara as vantagens e desvantagens em relação a alternativas mais simples.

Recursos principais

  • 01Remove as entradas menos usadas recentemente quando a quantidade máxima é excedida.
  • 02Permite limitar o tamanho total armazenado usando um cálculo de tamanho personalizado.
  • 03Oferece expiração opcional por TTL para o cache inteiro ou para entradas individuais.
  • 04Disponibiliza um callback dispose para limpar os itens removidos.
  • 05Inclui um método fetch assíncrono com suporte a stale-while-revalidate.
  • 06Inclui tipos TypeScript.

Casos de uso

  • Armazenar em cache resultados de computações caras ou chamadas de API em um serviço Node.js.
  • Limitar o uso de memória de um cache no processo pelo tamanho total das entradas.
  • Armazenar dados obtidos em cache em um app de navegador com uso de memória limitado.

Início rápido

  1. 1

    Instale o pacote com npm

    npm install lru-cache --save
  2. 2

    Importe LRUCache e crie um cache com tamanho máximo

Antes de usar

  • Não é principalmente um cache TTL; por padrão, os itens expirados não são removidos preventivamente.
  • As operações set são um pouco mais lentas do que em algumas alternativas, e o README recomenda evitar dispose, o rastreamento de tamanho e os recursos TTL, a menos que sejam necessários.

Tópicos

Perguntas frequentes

O que é node-lru-cache?
Um cache LRU em JavaScript que remove os itens menos usados recentemente ao atingir o limite configurado de quantidade, tamanho ou TTL. lru-cache é um objeto de cache em JavaScript que mantém uma quantidade definida de itens acessados mais recentemente e remove os menos usados quando novas entradas ultrapassam o limite. Funciona no Node.js e em navegadores, e pode ser instalado pelo npm.
node-lru-cache é gratuito? Qual é a licença?
node-lru-cache é open source sob a licença BlueOak-1.0.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
node-lru-cache ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de node-lru-cache foi em 18 de set. de 2026.
Para que posso usar node-lru-cache?
Armazenar em cache resultados de computações caras ou chamadas de API em um serviço Node.js. Limitar o uso de memória de um cache no processo pelo tamanho total das entradas. Armazenar dados obtidos em cache em um app de navegador com uso de memória limitado.
Como instalar node-lru-cache?
Instale o pacote com npm: npm install lru-cache --save Importe LRUCache e crie um cache com tamanho máximo
Onde consigo node-lru-cache?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/isaacs/node-lru-cache

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados