sql >> Database >  >> NoSQL >> Redis

Redis SCAN gebruiken in NODE

U kunt recursie gebruiken om scan te blijven bellen totdat u klaar bent.

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)
            }

    });
}

Geef een Set() door om ervoor te zorgen dat sleutels niet worden gedupliceerd

myResults = new Set();

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


  1. Basisprincipes van MongoDB-databaseautomatisering met Chef

  2. Indexeren op een veld dat zich in een array van subdocumenten bevindt

  3. pymongo - dnspython-module moet zijn geïnstalleerd om mongodb+srv:// URI's te gebruiken

  4. Laravel Socket.io Verbonden maar geen gegevens ontvangen