2017-05-16 5 views
0

Node.js의 Redis에서 키를 읽는 데 문제가 있으며 데이터를 mongodb에 저장합니다. 키 수가 너무 많아 (130 만 개) 이로 인해 JavaScript 힙이 메모리 부족합니다.redis 키를 스트림으로 읽기위한 node.js 모듈

아무도 나에게이 문제를 피할 수 있도록이 문제에 대한 스트림이나 다른 해결책으로 Redis 키를 읽는 Node.js 모듈을 제안 해 주실 수 있습니까?

대단히 감사합니다!

답변

1

ioredis (https://github.com/luin/ioredis)은 스트림을 지원합니다.

예제는 readme에서 SCAN입니다.

var redis = new Redis(); 
// Create a readable stream (object mode) 
var stream = redis.scanStream(); 
var keys = []; 
stream.on('data', function (resultKeys) { 
    // `resultKeys` is an array of strings representing key names 
    for (var i = 0; i < resultKeys.length; i++) { 
    keys.push(resultKeys[i]); 
    } 
}); 
stream.on('end', function() { 
    console.log('done with the keys: ', keys); 
}); 
+0

고맙습니다. 그것은 매력처럼 작동합니다! –