Cacheable - paquete de caché para Node.js basado en Keyv
(github.com/jaredwray)Paquete de solución de caché utilizable en diversos proyectos
- cacheable: framework de caché de próxima generación. Diseñado y construido desde cero con caché de capa 1 / capa 2. Destaca por su caché distribuido y escalabilidad
- cache-manager: se usa en servicios como NestJS y ofrece funciones potentes como
wrap. Ampliamente utilizado en distintas aplicaciones - cacheable-request: agrega funciones de caché a solicitudes HTTP nativas. Soporta caché compatible con RFC. Permite aplicar caché fácilmente a solicitudes de red
- flat-cache: caché rápida en memoria con persistencia en almacenamiento de archivos. Permite acceso veloz en memoria y guardar datos de caché en archivos
- file-entry-cache: caché liviana para metadatos de archivos. Adecuada para procesos que manejan conjuntos específicos de archivos; solo reprocesa los archivos modificados desde la última ejecución
- @cacheable/node-cache: paquete alternativo a node-cache
Cacheable
- motor de caché de alto rendimiento de capa 1 / capa 2 con enfoque en caché distribuido
- soporte previsto para funciones empresariales como CacheSync
- ofrece rendimiento sólido basado en el motor de almacenamiento Keyv
- función para almacenar en caché y recuperar datos con una API simple
- características principales
- API simple e intuitiva
- estructura liviana sin módulos innecesarios
- usa Keyv como motor de almacenamiento confiable y escalable
- Memory Caching con soporte para LRU (Least Recently Used) y caché con expiración
- estructura resistente a fallas mediante recuperación de errores y soporte offline
- soporte de
wrap/ memoization para funciones síncronas y asíncronas - soporte de Hooks y manejo de eventos para ampliar funcionalidades
- aplicación sencilla de TTL (tiempo límite) en milisegundos (1 minuto = 60000ms, 1 hora = 3600000ms, 1 día = 86400000ms)
- soporte para operaciones de caché de capa 2 no bloqueantes (
non-blocking) - sincronización de caché distribuido basada en Pub/Sub (próximamente)
- pruebas integrales y cobertura de código
- soporte para ESM y CommonJS, compatible con Typescript
1 comentarios
Parece que simplemente divide capas primarias y secundarias dentro del paquete y luego guarda en Keyv.
Si esperaban un caché clásico de capa 1 / capa 2, mejor denle atrás.