2014-03-05 72 views
0

我想顯示三個排名:總體,最近30天和最近7天。redis zrank:獲得「過去7天」排名

我決定使用redis,儘管我從未使用過它。

整體排名似乎很簡單:

每次用戶註冊我創建了一個新的成員到我的收藏都被他獲取一個新的時間點增加計數器。

然後,我可以得到ZRANK

的排名,但我怎麼能得到與用戶在過去7天拿到了分等級?

回答

0

我想我已經得到了它(請提供批評和想法改進):https://groups.google.com/forum/#!topic/redis-db/0xh7tVQsi9Q

所有我需要做的就是:

ZINCRBY day:2014-03-03 1 userID2 
ZINCRBY day:2014-03-03 1 userID 
ZINCRBY day:2014-03-04 1 userID 

ZUNIONSTORE out 2 day:2014-03-03 posts:day:2014-03-04 

ZRANGE out 0 -1 WITHSCORES 

正如彼得Noordhuis在這個答案寫

結果是:

1) "userID" 
2) "2" 
3) "userID2" 
4) "1" 
+1

聽起來不錯。我會這樣命名鍵:'d:20140303'等,以節省更多的空間。 – Agis

+0

這太慢了。擁有500,000個用戶,需要高達1.4秒才能獲得5個用戶的排名 –

+0

您可以分解集合。 – Agis