Ali*_*ken 3 javascript redis node.js
我正在使用NodeJS Redis客户端(Node Redis)并调用SISMEMBER Redis命令.但是,当我调用该命令时,无论该值是否为该集合的成员,它始终返回true.
我将它与Node IRC模块结合使用.我对Redis调用返回错误值的原因感到茫然.我试过只隔离Redis代码(没有周围的代码),它工作正常.代码如下,谢谢你的帮助.
这不起作用
var redis = require("redis");
var redisClient = redis.createClient();
ircClient.addListener('join', function(channel, who) {
console.log(redisClient.sismember('visitedUsers', 'awdwf'));
console.log(who + ' connected');
});
Run Code Online (Sandbox Code Playgroud)
然而,这是有效的
var redis = require("redis");
var redisClient = redis.createClient();
console.log(redisClient.sismember('visitedUsers', 'awdwf'));
Run Code Online (Sandbox Code Playgroud)
redis方法都是异步的.该返回值只是布尔指示是否任何更多的命令应该暂且发行(取决于指令队列大小超过高水位上-这类似于节点的stream.write()返回false).
尝试这样的事情:
client.sismember('visitedUsers', 'awdwf', function(err, reply) {
if (err) throw err;
console.log(reply);
});
Run Code Online (Sandbox Code Playgroud)