ioredis: Cómo usar Redis con Node.js

ioredis

 Cómo usar Redis con Node.js (ioredis)

En este artículo se explica de forma corta y sencilla cómo usar Redis con Node.js a través del paquete npm ioredis.


Instalar

Instalar ioredis:

npm install ioredis

Conectar

Importar Redis:

const Redis = require('ioredis');

Conéctese a Redis con opciones:

const redis = new Redis({
  host: process.env.REDIS_HOSTNAME,
  port: process.env.REDIS_PORT,
  password: process.env.REDIS_PASSWORD,
});

Por ejemplo, para conectarse a Redis local:

const redis = new Redis({
  host: 'localhost',
  port: 6379,
});

Alternativamente, Redis se puede conectar con una cadena de URL:

const redis = new Redis(process.env.REDIS_URL);

La cadena de URL tiene el formato:

redis://<REDIS_USER>:<REDIS_PASSWORD>@<REDIS_HOST>:<REDIS_PORT>

Entonces, la URL de Redis local es:

redis://localhost:6379

Comandos

set

Establecer clave con valor:

await redis.set('key', 'value'); // returns 'OK'

get

Obtener valor de la clave:

await redis.get('key'); // returns 'value'

del

Eliminar par clave-valor:

await redis.del('key'); // returns 1

Eliminar varios pares clave-valor:

await redis.del(['key1', 'key2']);

 

del no permite la coincidencia de patrones (*).

 

key

Buscar por clave:

await redis.keys('key'); // returns ['key']

Ahora buscar por claves:

await redis.keys('key1', 'key2');
await redis.keys(['key1', 'key2']);

Y ahora, buscar por patrón:

await redis.keys('k*'); // returns ['key']

Obtener todas las claves:

await redis.keys('*'); // returns ['key']

scan

El escaneo funciona mejor que keys si hay muchos datos:

await redis.scan(0, 'MATCH', '*'); // returns ['0', ['key']]

scanStream crea un ReadableStream:

const stream = redis.scanStream({ match: '*' });

let keys = [];

stream.on('data', (resultKeys) => {
  keys = keys.concat(resultKeys);
});

stream.on('end', () => {
  console.log(keys); // returns ['key']
});

stream.on('error', (error) => {
  throw error;
});

Demo

[ remarkablemark ]

Recent Post