[英]NodeJS Redis Client Returning Wrong Value
我正在使用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');
});
然而,這是有效的
var redis = require("redis");
var redisClient = redis.createClient();
console.log(redisClient.sismember('visitedUsers', 'awdwf'));
redis
方法都是異步的。 返回值只是布爾值,表示是否應該暫時發出更多命令(取決於命令隊列大小是否超過高水位標記 - 這類似於節點的stream.write()
返回false)。
嘗試這樣的事情:
client.sismember('visitedUsers', 'awdwf', function(err, reply) {
if (err) throw err;
console.log(reply);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.