簡體   English   中英

NodeJS Redis客戶端返回錯誤的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM