sql >> データベース >  >> NoSQL >> Redis

パターンが一致するioredisキー

    これは、幅広いアイデアを提供するサンプルコードです。したがって、redisが提供する2つのものを使用できます。 1つは、O(N)の複雑さのために使用すべきではないKEYS関数です。この例では、ストリーム内でスキャンコマンドを使用しています。つまり、カーソル位置が異なる1つずつスキャンコマンドを使用しています。これにより、redis全体がスキャンされますが、一度に10個の結果が返され、KEYS関数のようにredisが停止することはありません。すべてのキーをキー配列にプッシュします。その後、すべてのキーをループし、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);
                        });
    


    1. Redis:Redisログファイルにアクセスする方法

    2. MongoDBコレクションからすべてのアイテムを削除する方法

    3. node.jsのチャットサーバー用のRedispub/ sub

    4. SpringデータRedisHGETALL操作