Presentamos flexi-cache-node, una biblioteca de caché moderna y sin dependencias diseñada para Node.js que combina rendimiento, seguridad y facilidad de uso tanto en JavaScript como en TypeScript.
Por qué la desarrollé
Necesitaba una caché que cumpliera con varios requisitos claves y que no existía en las soluciones actuales:
- expiración de claves fiable mediante TTL por clave o global
- evacuación LRU para controlar el uso de memoria
- agrupación por etiquetas para borrar lotes de claves de forma eficiente
- persistencia en disco con escrituras a prueba de fallos
- cifrado AES-256-GCM para proteger los datos en reposo
- estadísticas y eventos para monitorizar aciertos, fallos y expiraciones
- compatibilidad lista para TypeScript y cero dependencias
En lugar de extender node-cache, decidí crear flexi-cache-node desde cero para integrar estas capacidades de forma nativa y ligera.
Características principales
- TTL por clave o TTL global para un control fino de la caducidad
- Política LRU para evitar que la memoria crezca sin control
- Etiquetas para gestión en bloque de claves
- Persistencia en disco con escrituras seguras contra fallos
- Cifrado AES-256-GCM opcional para datos almacenados
- Métricas y eventos para observabilidad
- Funciona tanto en proyectos JavaScript como TypeScript
- Cero dependencias externas para mayor seguridad y menor tamaño
Instalación
npm install flexi-cache-node o yarn add flexi-cache-node
Ejemplo 1 uso básico en memoria
Crear una caché con TTL por defecto de 5 segundos, almacenar la clave foo con valor bar y recuperar su valor devuelve bar
Ejemplo 2 gestión por etiquetas
Usar TagCache para asignar etiquetas a claves. Por ejemplo, almacenar user:1 con datos de un usuario y etiquetarlo como active y premium, y luego recuperar todos los valores con la etiqueta active
Ejemplo 3 evacuación LRU
Configurar un LRUCache con tamaño máximo 2, insertar claves a y b, acceder a a y luego insertar c provocará la expulsión de b para mantener el límite de tamaño
Ejemplo 4 persistencia cifrada
Configurar la caché para persistir en disco y activar el cifrado con una clave secreta permite volcar instantáneas cifradas al directorio de datos y recuperarlas de forma segura tras un reinicio
Próximas mejoras
- Caché para navegador usando LocalStorage y SessionStorage
- Persistencia en la nube con S3, GCP y Azure
- Compresión opcional para valores de gran tamaño
Reflexiones finales
Te invitamos a probar flexi-cache-node y a enviarnos tu feedback. Estamos abiertos a mejorar la biblioteca según las necesidades reales de la comunidad y de proyectos empresariales.
Sobre Q2BSTUDIO
Q2BSTUDIO es una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida. Ofrecemos soluciones completas que integran inteligencia artificial, ciberseguridad y servicios cloud aws y azure para empresas que necesitan innovación y escalabilidad. Nuestros servicios incluyen desarrollo de agentes IA, ia para empresas, servicios inteligencia de negocio y soluciones con power bi para visualización y análisis. Podemos integrar flexi-cache-node en arquitecturas empresariales, optimizar el rendimiento de aplicaciones backend y garantizar seguridad en el almacenamiento y en las comunicaciones.
Si buscas un partner para proyectos que involucren aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA o implementaciones con power bi, en Q2BSTUDIO estamos listos para ayudarte.
Contacto y colaboración
Ponte en contacto con nuestro equipo para evaluaciones, integraciones a medida y servicios gestionados. Hagamos que el almacenamiento en caché y la inteligencia aplicada trabajen a favor de tu negocio.