sql >> Base de Datos >  >> NoSQL >> Redis

Llave ioredis con patrón a juego

así que este es el código de ejemplo que le dará una idea general. Entonces puedes usar dos cosas que ofrece redis. Primero está la función KEYS que no debería usarse debido a su complejidad O(N). Este ejemplo usa el comando de escaneo en una secuencia, es decir, uno por uno con diferentes posiciones del cursor. Escaneará todo el redis pero devolverá 10 resultados a la vez, lo que no detendrá el redis como lo haría la función KEYS. Empujaremos todas las claves a una matriz de claves, después de lo cual puede recorrer todas las claves y usar el comando GET para obtener el valor de cada clave.

const redis = require('ioredis');
    let stream = redis.scanStream({
        match: "LOGIN::*",
        count: 10
    });
     stream.on("data", async (keys = []) => {
                        let key;
                        for (key of keys) {
                            if (!keysArray.includes(key)) {
                                await keysArray.push(key);
                            }
                        }
                    });
                    stream.on("end", () => {
                        res(keysArray);
                    });