Skip to content

Releases: madmarin/btech-rust-microservice-cache

Release list

Stable Release

Choose a tag to compare

@madmarin madmarin released this 15 Aug 03:11

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ífica
  • keys(): Devuelve todas las claves almacenadas
  • getStats(): Obtiene métricas de rendimiento
  • flush(): 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-cache

Compatibilidad

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