admin管理员组文章数量:1432602
I'm using the NodeJS Redis client (Node Redis) and calling the SISMEMBER Redis mand. However, when I call the mand it always returns true, no matter whether or not the value is a member of the set.
I am using this in conjunction with the Node IRC module. I am at a loss for why the Redis call is returning the wrong value. I have tried isolating just the Redis code (without the surrounding code) and it works fine. Code follows, thank you for the help.
This does not work
var redis = require("redis");
var redisClient = redis.createClient();
ircClient.addListener('join', function(channel, who) {
console.log(redisClient.sismember('visitedUsers', 'awdwf'));
console.log(who + ' connected');
});
This works, however
var redis = require("redis");
var redisClient = redis.createClient();
console.log(redisClient.sismember('visitedUsers', 'awdwf'));
I'm using the NodeJS Redis client (Node Redis) and calling the SISMEMBER Redis mand. However, when I call the mand it always returns true, no matter whether or not the value is a member of the set.
I am using this in conjunction with the Node IRC module. I am at a loss for why the Redis call is returning the wrong value. I have tried isolating just the Redis code (without the surrounding code) and it works fine. Code follows, thank you for the help.
This does not work
var redis = require("redis");
var redisClient = redis.createClient();
ircClient.addListener('join', function(channel, who) {
console.log(redisClient.sismember('visitedUsers', 'awdwf'));
console.log(who + ' connected');
});
This works, however
var redis = require("redis");
var redisClient = redis.createClient();
console.log(redisClient.sismember('visitedUsers', 'awdwf'));
Share
Improve this question
asked Dec 21, 2014 at 1:04
AlienHobokenAlienHoboken
2,80022 silver badges23 bronze badges
1
- I doubt if the above code you said is working would actually work if tested with a non-existent user, in which case it should return 0. – Hanu Commented Feb 28, 2018 at 11:39
1 Answer
Reset to default 5redis
methods are all asynchronous. The return values are just booleans indicating whether any more mands should be issued for the time being (depending on if the mand queue size exceeds the high water mark -- this is similar to node's stream.write()
returning false).
Try something like this:
client.sismember('visitedUsers', 'awdwf', function(err, reply) {
if (err) throw err;
console.log(reply);
});
本文标签: javascriptNodeJS Redis Client Returning Wrong ValueStack Overflow
版权声明:本文标题:javascript - NodeJS Redis Client Returning Wrong Value - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745600879a2665557.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论