Repolode
isaacs

isaacs/node-lru-cache

Caché LRU en JavaScript que expulsa los elementos menos usados recientemente al alcanzar el límite configurado de cantidad, tamaño o TTL.

Estrellas
5,918
Forks
380
Issues abiertos
15
Último commit
el mes pasado

¿Qué es?

lru-cache es un objeto de caché para JavaScript que conserva una cantidad determinada de los elementos consultados más recientemente y elimina los menos usados cuando las nuevas entradas superan el límite. Funciona en Node.js y en navegadores web, y se puede instalar desde npm.

Además de la expulsión LRU básica, la caché admite límites opcionales al tamaño total almacenado mediante una función de cálculo del tamaño, expiración TTL por entrada o para toda la caché, una función de callback dispose para limpiar los elementos expulsados y un método async fetch con el comportamiento stale-while-revalidate. Admite claves que no sean cadenas mediante identidad de objeto. La biblioteca está pensada principalmente como una caché LRU, no como una caché TTL, y no elimina de forma proactiva los elementos expirados salvo que se configure para hacerlo.

El paquete incluye tipos de TypeScript, instrumentación de diagnostics channel en las plataformas compatibles y una sección de rendimiento documentada que compara las ventajas y desventajas frente a alternativas más sencillas.

Funciones clave

  • 01Expulsa las entradas menos usadas recientemente cuando se supera la cantidad máxima.
  • 02Admite límites al tamaño total almacenado mediante un cálculo de tamaño personalizado.
  • 03Ofrece expiración TTL opcional para toda la caché o para entradas individuales.
  • 04Proporciona una función de callback dispose para limpiar los elementos expulsados.
  • 05Incluye un método async fetch con compatibilidad para stale-while-revalidate.
  • 06Incluye tipos de TypeScript.

Casos de uso

  • Almacenar en caché los resultados de cálculos costosos o llamadas a API en un servicio Node.js.
  • Limitar el uso de memoria de una caché en proceso según el tamaño total de las entradas.
  • Almacenar datos obtenidos en una aplicación web con memoria limitada.

Inicio rápido

  1. 1

    Instala el paquete con npm

    npm install lru-cache --save
  2. 2

    Importa LRUCache y crea una caché con un tamaño máximo

Antes de usarlo

  • No está pensado principalmente como caché TTL; de forma predeterminada, los elementos caducados no se eliminan de antemano.
  • Las operaciones set son algo más lentas que en algunas alternativas, y el README recomienda evitar dispose, el seguimiento del tamaño y las funciones TTL salvo que sean necesarios.

Temas

Preguntas frecuentes

¿Qué es node-lru-cache?
Caché LRU en JavaScript que expulsa los elementos menos usados recientemente al alcanzar el límite configurado de cantidad, tamaño o TTL. lru-cache es un objeto de caché para JavaScript que conserva una cantidad determinada de los elementos consultados más recientemente y elimina los menos usados cuando las nuevas entradas superan el límite. Funciona en Node.js y en navegadores web, y se puede instalar desde npm.
¿node-lru-cache es gratuito? ¿Qué licencia tiene?
node-lru-cache es open source bajo la licencia BlueOak-1.0.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿node-lru-cache sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de node-lru-cache fue el 18 sept 2026.
¿Para qué puedo usar node-lru-cache?
Almacenar en caché los resultados de cálculos costosos o llamadas a API en un servicio Node.js. Limitar el uso de memoria de una caché en proceso según el tamaño total de las entradas. Almacenar datos obtenidos en una aplicación web con memoria limitada.
¿Cómo se instala node-lru-cache?
Instala el paquete con npm: npm install lru-cache --save Importa LRUCache y crea una caché con un tamaño máximo
¿Dónde consigo node-lru-cache?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/isaacs/node-lru-cache

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados