Redis (ioredis) para JavaScript (Node.js): guía completa con ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

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

Recommendations