quindi questo è il codice di esempio che ti darà un'idea generale. Quindi puoi usare due cose che offre il redis. La prima è la funzione KEYS che non dovrebbe essere utilizzata a causa della sua complessità O(N). Questo esempio utilizza il comando di scansione in un flusso, ad esempio uno per uno con diverse posizioni del cursore. Analizzerà l'intero redis ma restituirà 10 risultati alla volta che non bloccheranno il redis come farebbe la funzione KEYS. Invieremo tutte le chiavi in un array di chiavi, dopodiché potrai scorrere tutte le chiavi e utilizzare il comando GET per ottenere il valore di ciascuna chiave.
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);
});