2016-03-03 77 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

相關問題