我正在使用https://github.com/mranney/node_redis并尝试一次更新具有多个值的集合(在redis cli "SADD myset val1 val2"
上工作正常)。
我正在使用的确切命令是:
var cmd_array = ['myset', 'val1', 'val2'];
client.sadd(cmd_array);
根据他们的文档,这应该有效。知道为什么不这样做吗?
由于
答案 0 :(得分:5)
对我来说很好。 我可以毫无问题地运行以下脚本:
var redis = require("redis"),
client_options = {
parser: "hiredis"
};
var credis = redis.createClient( '/tmp/redis.sock', client_options );
function main()
{
credis.flushall( function(err,res) {
console.log( "hello" );
x = [ "X", "A", "B", "C" ];
credis.sadd(x);
credis.sadd( "myset", x, function(err,res) {
console.log("done");
credis.end();
});
});
}
main();
它创建了具有预期项目数的两个键:
redis 127.0.0.1:6379> keys *
1) "X"
2) "myset"
redis 127.0.0.1:6379> smembers myset
1) "X"
2) "A"
3) "B"
4) "C"
redis 127.0.0.1:6379> smembers X
1) "A"
2) "B"
3) "C"
我建议你检查node_redis版本。 我使用的版本是:
$ npm list
/home/dspezia/local/test_redis
├── hiredis@0.1.14
└── redis@0.7.1