Redis
 sql >> база данни >  >> NoSQL >> Redis

Използване на Redis SCAN в NODE

Можете да използвате рекурсия, за да продължите да извиквате сканиране, докато приключите.

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как StackExchange.Redis използва множество крайни точки и връзки?

  2. Как функционира ServiceStack Redis при извличане на данни

  3. Как да инсталирате и конфигурирате Redis на ElasticBeanstalk

  4. Необвързана грешка на елемента за интеграция на JHipster Redis

  5. Redis / Вземете всички ключове и стойности от redis с префикс