我是Redis和Node.JS的新手,并且一直试图将这两者结合使用.但是我对一个接一个地使用哪些功能感到有点困惑.
以下代码似乎同步运行,数据库的大小不断增加:
client.dbsize(function(err, numKeys) {
console.log("DB Size before hashes added" + numKeys);
return numKeys;
});
for (var i = 0; i < 100; i++) {
client.hmset(i, "username", "username", "answer", "answer");
client.zadd('answer', i, i);
};
client.dbsize(function(err, numKeys) {
console.log("DB Size after hashes added" + numKeys);
return numKeys;
});
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试查询排序集'answer'以返回一个数组时,此数组'reply'不能立即用于回调'zrevrangebyscore'之外的其他redis函数.
client.zrevrangebyscore('answer', 100, 0, function(err, reply) {
console.log (reply);
return reply;
});
Run Code Online (Sandbox Code Playgroud)
例如,在reply [1]上调用的后续'hgetall'函数返回undefined.我是否应该以异步方式使用所有Redis函数(包括hmset和dbsize)与callbacks/client.multi等,或者如果同步使用有效工作?感谢所有的帮助.