我知道我可以为此写一个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)
});
});
答案 0 :(得分:4)
流水线操作是一个很好的选择 - 在完成SMEMBERS后,管道所有HGETALL。