więc to jest przykładowy kod, który da ci ogólny pomysł. Możesz więc użyć dwóch rzeczy, które oferuje redis. Pierwsza to funkcja KEYS, która nie powinna być używana ze względu na jej złożoność O(N). Ten przykład używa polecenia skanowania w strumieniu, tj. Jeden po drugim z różnymi pozycjami kursora. Przeskanuje całe redis, ale zwróci 10 wyników na raz, które nie zatrzymają redis, jak miałaby funkcja KLAWISZE. Przekażemy wszystkie klawisze do tablicy klawiszy, po czym możesz przejść przez wszystkie klawisze w pętli i użyć polecenia GET, aby uzyskać wartość każdego klawisza.
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);
});