【问题标题】:Retrieve data from Redis in Node.js在 Node.js 中从 Redis 检索数据
【发布时间】:2011-10-26 04:17:04
【问题描述】:

我刚刚发现 node js 有多酷,并且正在寻找持久化的选项。我看到你可以使用redis-client在redis中存储数据,我已经能够存储数据了,像这样:

var redis = require('redis-client');

var r = redis.createClient();

var messege = {'name' => 'John Smith'};

var type = "Contact";

r.stream.on( 'connect', function() {
  r.incr( 'id' , function( err, id ) {
    r.set( type+':'+id, JSON.stringify(messege), function() {
      sys.puts("Saved to redis");
    });
  });
});

这存储了一个带有 json 字符串作为值的键。但是,我试图从 redis 中检索所有密钥并围绕它们进行循环。我无法弄清楚如何做到这一点,有人能指出我正确的方向吗?

干杯

伊夫

【问题讨论】:

  • 您可能想查看 redis2JSON 模块。它可能会让事情变得更容易

标签: javascript json node.js redis


【解决方案1】:

要从 redis 中获取密钥,您应该使用 .keys 参数。您传递的第一个参数是“过滤器”,.keys 将返回与过滤器匹配的所有项目。

例如r.keys('*', ...)会将redis中的所有键作为数组返回。

这是有关此命令的文档:http://redis.io/commands/keys

要遍历它们,您只需执行简单的for in,如下所示: r.keys('*', function (keys) { for (key in keys) { console.log(key); } });

【讨论】:

  • 啊,明白了。以为会是这样简单的事情。全脑冻结。谢谢!
  • 没有问题!在编写此代码之前我没有尝试过,所以如果您有任何问题,请告诉我,我很乐意看看 :)
猜你喜欢
  • 1970-01-01
  • 2018-08-11
  • 1970-01-01
  • 1970-01-01
  • 2020-04-12
  • 2018-09-18
  • 1970-01-01
  • 2020-06-08
  • 2019-02-26
相关资源
最近更新 更多