我将使用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()的命令。
答案 0 :(得分:2)
您可以使用HVALS
命令获取哈希值中的所有值。
但是,如果哈希非常大,调用HVALS
或HGETALL
总是一个坏主意。它可能会阻止Redis很长一段时间,因为Redis是单线程的。
相反,您可以使用HSCAN
逐步迭代哈希。这应该是获取大型哈希的所有值的推荐方法。