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