對於Redis''分數'和'排名'功能的某些用例,有哪些(除了典型的「排行榜」遊戲示例?米試圖找出如何利用這些動態的新功能,我預計從使用傳統的關係型數據庫的Redis作爲持久性數據存儲移動。用例對於Redis''Score'和'Ranking'集合的功能
0
A
回答
1
zset是關鍵的唯一一種誰可以排序
舉例來說,您可以想象將某個特定文章的所有註釋關鍵標識置於zset中, 用戶將對每條評論進行上/下投票,這將改變評分值
後,當你需要畫的意見,你可以讓他們有序的,排在首位更好的意見(喜歡這裏)
使用ZREMRANGEBYSCORE你能想象刪除所有非常糟糕的評論的每天
但因爲每個Redis的類型,他們仍然是基本的,給你一個專用的用例是很難的,可以有一些: - )
5
ZSET
s是偉大的選擇或基於分數的範圍,但分數可以是任何數值,如時間戳。
我們用redis存儲美國所有股票的每日股價。下面是eBay的一個例子...
ZADD key score member [score member ...]
...
ZADD stocks:ebay 1 30.39 2 32.70 3 31.25 4 31.75 5 29.12 6 29.87 7 29.93
在這種情況下,score
值通常將是長期的時間戳,與不談,如果我們想每天的價格在過去3天,我們根本就是兩個日期轉換爲時間戳和從使用時間戳範圍1 3
Redis的拉...
zrangebyscore stocks:ebay 1 3
1) "30.39"
2) "32.70"
3) "31.25"
查詢是非常快,很適合我們的需要。
希望它有幫助!
相關問題
- 1. 功能NHibernate例外集合
- 2. 功能集合
- 3. 用例用於功能
- 4. 嵌套的集合功能
- 5. 位集合的功能
- 6. 對於和如果功能
- 7. 用於重試功能的用例?
- 8. 用於集合或數組的Java printf功能
- 9. 關於JavaScript閉合和匿名功能
- 10. 使用MultinomialNB組合功能集
- 11. 改變對象的功能僅適用於例如
- 12. 從功能集合中選擇合奏功能
- 13. Java通過集合類和使用它們的功能迭代
- 14. 對於write.csv功能
- 15. 功能對於PostgreSQL
- 16. 從類創建對象集合使用變壓功能
- 17. redis集合和示例
- 18. 實例化和集合 - ruby
- 19. 非聚集索引功能相對於聚集索引尋求
- 20. 功能或用於通過集
- 21. 包含元素和其他集合用於構造C++的集合的集合
- 22. 適合數據集的功能函數
- 23. 具有更多功能的集合() -
- 24. 功能tidyr的收集和使用
- 25. 結合過濾(例如用grep)和繪圖功能?
- 26. NAT對於Azure的虛擬機比例集合
- 27. 功能集合中每個功能的不同顏色
- 28. 將集合功能對某些類型的每一列
- 29. 骨幹集合在屬性是一個對象的功能
- 30. 對象/功能混合
zset不是二叉樹。它是字典和跳過列表的組合。算法的複雜性也不同。 –
Redis源代碼:https://github.com/antirez/redis/blob/unstable/src/t_zset.c#L31 –
這種方法可能存在一個缺陷:由於這是一個SET,當增加一個重複的股票價格它不會被儲存! 'ZADD股票:易趣8 30.39' – olegueret