我正在使用 NodeJS Redis 客户端(Redis节点) https://github.com/mranney/node_redis并调用 SISMEMBER Redis 命令。但是,当我调用该命令时,无论该值是否是该集合的成员,它总是返回 true。
我将其与Node IRC https://github.com/martynsmith/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');
});
然而,这有效
var redis = require("redis");
var redisClient = redis.createClient();
console.log(redisClient.sismember('visitedUsers', 'awdwf'));
redis
方法都是异步的。这返回值 https://github.com/mranney/node_redis/blob/75b0bc97ea3c9b140866fb8fa9888c1aec471943/index.js#L898只是布尔值,指示暂时是否应该发出更多命令(取决于命令队列大小是否超过高水位线 - 这类似于节点的stream.write()
返回假)。
尝试这样的事情:
client.sismember('visitedUsers', 'awdwf', function(err, reply) {
if (err) throw err;
console.log(reply);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)