sql >> Database teknologi >  >> NoSQL >> Redis

ioredis nøgle med matchende mønster

så dette er eksempelkoden, der vil give dig en bred idé. Så du kan bruge to ting, som redis tilbyder. For det første er NØGLER-funktionen, som ikke bør bruges på grund af dens O(N)-kompleksitet. Dette eksempel bruger scanningskommandoen i en strøm, dvs. én efter én med forskellige markørpositioner. Den scanner hele redisen, men returnerer 10 resultater ad gangen, som ikke stopper redis’en, som KEYS-funktionen ville have. Vi vil skubbe alle tasterne til et nøglearray, hvorefter du kan gå gennem alle tasterne og bruge GET-kommandoen til at få værdien af ​​hver nøgle.

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 sum forespørgsel

  2. Spring boot starter data hvile, @Notnull begrænsning virker ikke

  3. Generering af en struktur til aggregation

  4. Nøjagtighed af redis dbsize kommando