c'est donc l'exemple de code qui vous donnera une idée générale. Vous pouvez donc utiliser deux choses que propose le redis. La première est la fonction KEYS qui ne doit pas être utilisée en raison de sa complexité O(N). Cet exemple utilise la commande scan dans un flux, c'est-à-dire un par un avec différentes positions de curseur. Il analysera tout le redis mais renverra 10 résultats à la fois, ce qui ne bloquera pas le redis comme le ferait la fonction KEYS. Nous allons pousser toutes les clés vers un tableau de clés, après quoi vous pourrez parcourir toutes les clés et utiliser la commande GET pour obtenir la valeur de chaque clé.
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);
});