Redis从集合中获取密钥,然后获取多个数据
我知道我可以为此编写一个lua脚本,但是我想知道是否可以使用多行或stream水线来完成。
我有一个包含哈希键的集合,我想在集合上执行HGETALL
,然后使用这些结果对每个键执行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) }); });
stream水线是一个很好的select – 在做SMEMBERS之后,pipe道所有的HGETALL。