因為Rediszset
底層的數據結構是skipList
,最底層鏈表有序,所有可以有以下使用場景:
1. 延時隊列
score
作為時間戳,自動按照時間最近的進行排序,啟一個線程持續poll
並設置park
時間,完成延遲隊列的設計,可參考Executors.newScheduledThreadPool
中的DelayedWorkQueue
2. 排行榜
score
作為瀏覽次數,自動進行排序,但要注意冷數據。
3. 滑動窗口限流
score
作為時間戳,可統計最近一段時間內內的成員數量,實現滑動窗口限流