Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Sử dụng Redis SCAN trong NODE

Bạn có thể sử dụng đệ quy để tiếp tục quét cuộc gọi cho đến khi hoàn tất.

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

    });
}

Chuyển một Bộ () để đảm bảo các khóa không bị trùng lặp

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. Tại sao Travis không thể kết nối sử dụng Redis cache_store khi triển khai cho Heroku?

  2. Chạy các tác vụ nền Heroku chỉ với 1 trình duyệt web và 0 ứng dụng nhân viên

  3. Cách nhanh nhất để lưu trữ một mảng numpy trong redis

  4. Tùy chọn khớp lệnh quét Redis không hoạt động trong Python

  5. Redis Pub / Sub ServiceStack, hủy chuỗi