Avi*_*Net 12 pipeline redis node.js node-redis
我有很多数据要插入(SET\INCR)到redis DB,所以我正在寻找通过node.js的管道\大量插入.
我在node.js中找不到任何好的示例/ API,所以任何帮助都会很棒!
Ton*_*oni 10
是的,我必须同意这方面缺乏示例,但我设法创建了我批量发送了几个插入命令的流.
您应该为redis流安装模块:
npm install redis-stream
Run Code Online (Sandbox Code Playgroud)
这就是你使用流的方式:
var redis = require('redis-stream'),
client = new redis(6379, '127.0.0.1');
// Open stream
var stream = client.stream();
// Example of setting 10000 records
for(var record = 0; record < 10000; record++) {
// Command is an array of arguments:
var command = ['set', 'key' + record, 'value'];
// Send command to stream, but parse it before
stream.redis.write( redis.parse(command) );
}
// Create event when stream is closed
stream.on('close', function () {
console.log('Completed!');
// Here you can create stream for reading results or similar
});
// Close the stream after batch insert
stream.end();
Run Code Online (Sandbox Code Playgroud)
此外,您可以根据需要创建任意数量的流,并随时打开/关闭它们.
有几个在redis-stream节点模块上的node.js 中使用redis流的示例
小智 5
在node_redis中,所有命令都是流水线的:
https://github.com/mranney/node_redis/issues/539#issuecomment-32203325