Redis (ioredis) para JavaScript (Node.js): Guía completa
Redis (Remote Dictionary Server) es un almacén de datos clave-valor en memoria de alto rendimiento, utilizado a menudo como base de datos, caché y broker de mensajes. Para trabajar con Redis desde Node.js existen varios clientes, y ioredis es uno de los más potentes, rápidos y populares. Esta biblioteca ofrece un conjunto completo de funciones para interactuar con Redis, incluyendo soporte para clústeres, Pub/Sub, procesamiento en pipeline, transacciones y scripts Lua.
¿Para qué sirve esta biblioteca? En el desarrollo web moderno con Node.js, a menudo se necesita acceso rápido a los datos. Redis, al trabajar en memoria, ofrece velocidades de lectura/escritura que las bases de datos relacionales tradicionales no pueden igualar. ioredis permite a los desarrolladores integrar fácilmente este poder en sus aplicaciones: cachear resultados de consultas complejas, gestionar sesiones de usuario, implementar colas de tareas, sistemas de clasificación y mucho más. La biblioteca está diseñada teniendo en cuenta la naturaleza asíncrona de Node.js, con soporte completo para Promises y async/await, lo que hace que el código sea limpio y predecible.
La principal ventaja de ioredis frente a otros clientes (como el antiguo node_redis) es su soporte integrado para clústeres de Redis y Sentinel, así como la reconexión automática. La biblioteca cuenta con una comunidad activa, documentación detallada y es utilizada en producción por miles de empresas en todo el mundo. Es adecuada tanto para scripts simples como para sistemas distribuidos de alta carga.
Instalación
La instalación de la biblioteca ioredis se realiza a través del gestor de paquetes npm (Node Package Manager). Asegúrate de tener Node.js (versión 12 o superior) y npm instalados.
npm install ioredis
Si usas yarn, el comando sería:
yarn add ioredis
Una vez instalada, la biblioteca estará disponible para importarla en tu proyecto. También necesitas un servidor Redis en ejecución. Si no tienes uno, puedes instalarlo localmente o usar Docker:
docker run -d --name redis-stack -p 6379:6379 redis/redis-stack-server:latest
Inicio rápido
Crea un archivo app.js y escribe el siguiente código mínimo que se conecta a Redis, guarda un valor y lo lee.
// Importamos la biblioteca ioredis
const Redis = require('ioredis');
// Creamos un nuevo cliente. Por defecto se conecta a localhost:6379
const redis = new Redis();
// Función asíncrona para demostrar el funcionamiento
async function inicioRapido() {
try {
// Establecemos la clave 'nombre' con el valor 'Usuario PythonLib'
await redis.set('nombre', 'Usuario PythonLib');
console.log('Clave "nombre" establecida.');
// Obtenemos el valor de la clave 'nombre'
const resultado = await redis.get('nombre');
console.log(`Valor de la clave "nombre": ${resultado}`);
// Verificamos si la clave existe
const existe = await redis.exists('nombre');
console.log(`¿La clave "nombre" existe?: ${existe === 1}`);
// Cerramos la conexión
redis.quit();
} catch (error) {
console.error('Error:', error);
redis.quit();
}
}
inicioRapido();
Ejecuta el script: node app.js. Deberías ver en la consola mensajes sobre el establecimiento y lectura exitosa de la clave. Este es un ejemplo básico que demuestra lo sencillo que es empezar con ioredis.
Métodos y clases principales
ioredis ofrece decenas de métodos que corresponden a los comandos de Redis. A continuación se presentan los 8 métodos más utilizados con descripciones detalladas y ejemplos.
1. set(key, value, ...args)
Firma: redis.set(key: string, value: string | number | Buff
También en la biblioteca
Procesamiento de imágenes en Java: cambio de tamaño y recorte (resize, crop)
Actix-web para Rust: guía completa con ejemplos
Trabajo con fechas en Go (Golang): librerías time, carbon y now
Internacionalización (i18n) en Swift: NSLocalizedString y String Catalog
Machine Learning en TypeScript: revisión de bibliotecas para ML en 2024