当前位置: 首页 > 面试题库 >

NodeJS Redis客户端返回错误值

欧阳德运
2023-03-14
问题内容

我正在使用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);
});


 类似资料:
  • 我已经使用java nio创建了一个客户端-服务器应用程序,它工作正常,但我的问题是,当服务器有许多连接到服务器的客户端时,服务器会响应错误的客户端,而不是请求客户端。例如,如果客户端A请求第一个人的信息,服务器将第一个人的信息返回给客户端B而不是客户端A。我已经尝试同步对象,但仍然无法正常工作,可能是什么问题。这是我的服务器示例代码

  • 我的服务器上再次收到错误。 { “错误”: “invalid_client” } 我已经编码到base64并将域列入了白名单,但仍然得到相同的错误。我会感激任何帮助,这让我发疯了,哈哈。

  • 我正在为Angular练习&。 我在从客户端创建查询时遇到了问题。 我已经成功地在后端创建了graphql查询。 无法找到解决方案答案。请帮忙。

  • 在此处为客户端凭据流使用Spotify文档: 我能够在谷歌应用程序脚本(Javascript)中创建API请求。 我对两件事感到困惑,请能够回答这两件事。 1). Spotify文档声明在授权标头中的客户端凭据之前输入“Basic”。 然而,当我运行这段代码时,我得到了这个错误 如果我在使用客户端凭据流,为什么它认为我在使用承载令牌?(同样,如果我将身份验证更改为Bearer,我会收到401错误“

  • 基本上,我希望能够有一个shell脚本,比如: 对于oracle,我只需在sql命令的顶部放置。有mysql的等价物吗?在谷歌没有找到任何东西。

  • 在后端,我进行了调试,并收到了请求,它根据客户机上设置的令牌查找用户,但随后什么也不做,只在我试图从应用程序发送时返回给我400,在graphiql浏览器上。 我错过了什么?非常感谢。