така че това е примерният код, който ще ви даде широка представа. Така че можете да използвате две неща, които redis предлага. Първата е функцията KEYS, която не трябва да се използва поради своята O(N) сложност. Този пример използва командата за сканиране в поток, т.е. един по един с различни позиции на курсора. Той ще сканира целия redis, но ще върне 10 резултата наведнъж, което няма да спре redis, както би имала функцията KEYS. Ще натиснем всички ключове в масив от ключове, след което можете да прегледате всички ключове и да използвате командата GET, за да получите стойността на всеки ключ.
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);
});