Repository navigation
btech-rust-microservice-cache v1.0.0
Esta es la primera versión estable de btech-rust-microservice-cache, una biblioteca de caché de alto rendimiento desarrollada en Rust para aplicaciones Node.js.
Resumen
btech-rust-microservice-cache proporciona una solución de caché en memoria optimizada para microservicios, ofreciendo operaciones de lectura y escritura extremadamente rápidas con un consumo de memoria reducido. La biblioteca está implementada en Rust y expone una API limpia para Node.js mediante NAPI-RS.
Características principales
Rendimiento: Las operaciones de caché se ejecutan en código nativo Rust, proporcionando latencias inferiores a 5 nanosegundos para operaciones básicas.
Gestión automática de memoria: Incluye algoritmos LRU (Least Recently Used) para la evicción automática de elementos cuando se alcanza el límite de capacidad configurado.
TTL (Time To Live): Soporte completo para expiración automática de entradas con configuración por elemento o valor por defecto.
Sistema de etiquetas: Permite organizar las entradas del caché mediante etiquetas para invalidación selectiva y gestión avanzada.
Métricas integradas: Proporciona estadísticas detalladas sobre el uso del caché, incluyendo hit rate, miss rate y distribución de memory usage.
Seguridad de hilos: Diseñado para acceso concurrente seguro sin necesidad de locks externos en la aplicación.
API
La biblioteca expone una clase principal MicroserviceCache con los siguientes métodos:
set(key, value, ttl?, tags?): Almacena un valor en el cachéget(key): Recupera un valor del cachédelete(key): Elimina una entrada específicakeys(): Devuelve todas las claves almacenadasgetStats(): Obtiene métricas de rendimientoflush(): Limpia completamente el caché
Instalación
Para proyectos que utilicen GitHub Packages:
npm config set @organization-microservices-shared:registry https://npm.pkg.github.com
npm install @organization-microservices-shared/btech-rust-microservice-cacheCompatibilidad
Esta versión es compatible con Node.js 16 y versiones superiores. Los binarios precompilados están disponibles para:
- Windows (x64, ARM64)
- macOS (Intel, Apple Silicon)
- Linux (x64, ARM64, musl)
- Android ARM64
Casos de uso
La biblioteca está optimizada para entornos de producción donde el rendimiento del caché es crítico:
- Caché de respuestas de API para reducir latencia
- Almacenamiento de sesiones de usuario con expiración automática
- Caché de configuraciones y feature flags
- Implementación de rate limiting con limpieza automática
- Caché de resultados de consultas costosas a base de datos
Requisitos del sistema
- Node.js 16.0.0 o superior
- Memoria RAM disponible para el tamaño de caché configurado
- Sistemas operativos soportados: Windows 10+, macOS 10.15+, Linux kernel 3.10+
Limitaciones conocidas
- El tamaño máximo del caché está limitado por la memoria disponible del sistema
- Las claves y valores deben ser serializables a strings
- No incluye persistencia automática en disco
Migración desde otras soluciones
Para proyectos que migren desde node-cache o memory-cache, la API es compatible en operaciones básicas. Consulte la documentación de migración para diferencias específicas.
Soporte y documentación
La documentación completa está disponible en el repositorio del proyecto. Para reportar problemas o solicitar nuevas características, utilice el sistema de issues de GitHub.
Changelog
v1.0.0
- Implementación inicial de la biblioteca de caché
- Soporte para TTL configurable por entrada
- Sistema de etiquetas para invalidación selectiva
- Métricas de rendimiento integradas
- Binarios precompilados para múltiples plataformas
- Documentación completa y ejemplos de uso
Información del proyecto
Licencia: MIT
Repositorio: https://github.com/Organization-microservices-shared/btech-rust-microservice-cache
Lenguajes: Rust, TypeScript
Arquitectura: Native addon con NAPI-RS