我正在使用 https://github.com/mranney/node_redis并尝试一次更新具有多个值的集合(在 redis cli "SADD myset val1 val2"
上工作正常)。
我使用的确切命令是:
var cmd_array = ['myset', 'val1', 'val2'];
client.sadd(cmd_array);
根据他们的文档,这应该可行。知道为什么没有吗?
谢谢
最佳答案
它对我来说很好用。 我可以毫无问题地运行以下脚本:
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
关于node.js - 为什么 redis SADD 不能使用数组作为 node.js 中的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10451059/