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

NODEでのRedisSCANの使用

    再帰を使用して、完了するまでスキャンを呼び出し続けることができます。

    function scanAsync(cursor, pattern, returnSet){
    
        return redisClient.scanAsync(cursor, "MATCH", pattern, "COUNT", "100").then(
            function (reply) {
    
                cursor = reply[0];
                var keys = reply[1];
                keys.forEach(function(key,i){
                    returnSet.add(key);
                });
    
                if( cursor === '0' ){
                    return Array.from(returnSet);
                }else{
                    return scanAsync(cursor, pattern, returnSet)
                }
    
        });
    }
    

    Set()を渡して、キーが重複していないことを確認します

    myResults = new Set();
    
    scanAsync('0', "NOC-*[^listen]*", myResults).map( 
        function( myResults ){ console.log( myResults); }
    );
    


    1. Meteor:クライアントからMongoコレクションへのファイルのアップロードvsファイルシステムvs GridFS

    2. 一般的なMongoDBインタビューの質問

    3. MongoDB $ sin

    4. CDPのHBaseがAmazonのS3をどのように活用できるか