sql >> Databasteknik >  >> NoSQL >> Redis

ioredis nyckel med matchande mönster

så det här är exempelkoden som ger dig en bred idé. Så du kan använda två saker som redis erbjuder. Först är KEYS-funktionen som inte bör användas på grund av dess O(N)-komplexitet. Det här exemplet använder scan-kommandot i en ström, dvs en efter en med olika markörpositioner. Det kommer att skanna hela redis men kommer att returnera 10 resultat åt gången som inte stoppar redis som KEYS-funktionen skulle ha. Vi kommer att trycka alla nycklar till en nycklar, varefter du kan gå igenom alla nycklar och använda GET-kommandot för att få värdet på varje nyckel.

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);
                    });


  1. MongoDb stängs av med kod 100

  2. ta bort _id från mongo-resultatet

  3. Hur sätter man in resque-arbetare i produktionen?

  4. db.collection är inte en funktion när du använder MongoClient v3.0