Redis从集合中获取密钥,然后在多个

时间:2015-09-12 18:36:32

标签: node.js redis

我知道我可以为此写一个lua脚本,但我想知道是否可以使用multi或pipelining来完成。

我有一个包含哈希键的集合,我想在集合上执行SMEMBERS,然后使用这些结果在每个键上执行HGETALL并返回聚合。我在节点中使用ioredis。

编辑:

包括一个例子我根据Itamar的评论使用ioredis:

  redis.smembers('users', function(err, res) {
    var pipeline = redis.pipeline();
    res.forEach(function(key) {
      pipeline.hgetall(key);
    });
    pipeline.exec(function(err, res) {
      var results = res.map(function(item) {
        return item[1];
      });
      console.log(results)
    });
  });

1 个答案:

答案 0 :(得分:4)

流水线操作是一个很好的选择 - 在完成SMEMBERS后,管道所有HGETALL。