2011-12-29 14 views
1

字符串進行排序,我一直保存和增加下載計數器是這樣的:Redis的造型由數

INCRBY downloads:<filename> 1 

但現在我想下載:*排序由值,以便我可以顯示一個熱門下載列表。

我感覺我可以更好地存儲這個。我愚弄與周圍:

ZINCRBY downloads 1 <filename> 
ZREVRANGEBYSCORE downloads +inf -inf 

這似乎給我的排序列表我想(下載次數最多到最少),但它只返回<filename>。看來我不得不分別查詢計數。

基本上,在SQL方面,如果我可以:

select filename, count(*) from downloads 

我怎樣組織我的Redis的數據,以使該查詢的可能/容易嗎?

回答

4

您可以用ZREVRANGE z 0 -1 WITHSCORES代替頂級電影,也可以返回分數。

此外,您還可以在上述命令中輕鬆地使用「N-1」而不是「-1」獲得「TOP N」膠片。

+1

從項目的創建者3分鐘內回答?!現在,這是服務。感謝Redis :)工作很好,但我必須等待8分鐘才能接受答案。 – Rebe 2011-12-29 17:09:29

+0

歡迎您:) – antirez 2011-12-29 17:10:45