首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NodeJS嵌套Redis命令

NodeJS嵌套Redis命令
EN

Stack Overflow用户
提问于 2016-12-06 21:10:47
回答 1查看 1.2K关注 0票数 0

我对这件事很陌生,但经过几次尝试,我想在这里寻求帮助,因为我不确定,我到底做错了什么。

情境:在Redis数据库中,我得到了一个键test,它的值类似于1,2,3,4。要将新的值放入键中,我使用rpush,因为我希望在键的末尾添加新的值(当我运行这个独立的,它作为一个魅力):

client.rpush("test", "5");

但是,我的想法是,首先我想检查一下,如果密钥存在,如果不存在,那么我将在其中添加一个值。为此,我决定使用LRANGE命令,现在的结果如下所示:

代码语言:javascript
复制
client.lrange("test", 0, 0, function(err, reply) {
        if (reply.length === 0) {
            client.rpush("test", 5);
        }

问题是,在上面描述的情况下,rpush似乎被“忽略”了,它不会存储这个值。我做错了什么?看起来,lrange回调中的任何Redis命令都会被忽略。

EN

回答 1

Stack Overflow用户

发布于 2016-12-06 21:57:25

听起来您可能想要使用LLEN而不是LRANGE

https://redis.io/commands/llen

我不是一个节点的人,但这样的东西应该能工作。但是,您的示例应该可以使用,如果这不能清除它,我将继续更新您的描述,以包括一些日志记录。

代码语言:javascript
复制
client.llen('test', function(err, reply) {  
  if (err) {
     // Log error
  }
  // Log reply 
  if (reply === 0) { 
    client.rpush('test', 5, function(err, reply) {
      if (err) {
         // Log error
      } 
      // Log reply
    })
  } 
})
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41004980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档