Node.js Redis获取hashmap中的所有值

时间:2017-03-22 14:44:15

标签: node.js redis hashmap

我将使用hashmaps的一些代码转换为redis。我试图复制Hashmap函数.values()时遇到了一个问题。

使用哈希映射:

 var hTest = new HashMap();
 hTest.set('1','hello');
 hTest.set('2','world'});
 console.log(hTest.values());

输出:['你好','世界']

但Redis似乎没有相应的东西。我发现最近的是:

client.hset("rTest", "1", 'hello'); 
client.hset("rTest", "2", 'world'});
client.hgetall("rTest",function(err, values){
   console.log(values)
});

输出{' 1',' hello',' 2'' world'}

我知道我可以创建一个for循环并循环回复,但我希望有一个类似于hashmap.values()的命令。

1 个答案:

答案 0 :(得分:2)

您可以使用HVALS命令获取哈希值中的所有值。

但是,如果哈希非常大,调用HVALSHGETALL总是一个坏主意。它可能会阻止Redis很长一段时间,因为Redis是单线程的。

相反,您可以使用HSCAN逐步迭代哈希。这应该是获取大型哈希的所有值的推荐方法。