2016-03-03 82 views
0

所以我有例如users:username_1,users:username_2,users:other_username。我如何获得所有用户?如何从NodeJS中的特定子集中获取所有Redis哈希?

从谷歌我了解到,这个东西有KEYS选项,但也不建议使用。仅用于调试。

是否有任何方式获取NodeJS中的所有子集对象?

+0

你想要所有的用户细节还是仅仅是用户ID?如果你只是想加载一些ID,我会做另一个结构,如有序集,而加载所有用户的详细信息,也许一个LIA脚本 –

+0

@LiviuCostea我需要每个用户作为它的细节的对象。 – user1564141

+0

你是否事先知道用户,或者你想要所有用户? –

回答

0

使用流水线为您想要加载的每个用户发送多个HGETALL。在node.js中,你可以这样做:Batch commands
为了找出我建议使用另一个结构的用户,我将使用一个有序集合,因为你可以比使用列表更快地获取范围。所以每次你创建一个用户,你都会在这个有序集合上做一个ZADD,然后像ZADD用户那样:所有x用户名_x。在与全部HGETALL联系之前,你应该做一个ZRANGE

+0

Gm,可能是我应该用mongo代替redis ... – user1564141

+0

mongo和redis不是替代品,你应该使用最适合你工作的工具 –

+0

Mongo在目前的情况下更容易使用,但我需要最快的解决方案 – user1564141

相关问题