目錄
redis-07 五大基本類型之ZSet
概述
指令
增、删、改、查
根據排名擷取元素
根據分數擷取元素
增加元素分數
統計、删除指定範圍元素
有序集合交集
實踐
文章通路量
文章日期
Redis 中的有序集合在集合的基礎上為每個元素都關聯了一個分數,有了分數之後我們就能依據分數進行相應的操作(排序、插入、删除……),這一點似乎和連結清單很像,但是兩者的差別卻很大:
List 基于雙向連結清單實作,而有序集合基于跳表實作(讀取複雜度低);
List 中改變元素的位置很是麻煩(該表前驅節點啊、後續節點啊什麼的),但是有序集合隻需要改變元素的分數就能改變其位置。
zadd
新增或者修改(已存在的元素)元素和分數
zrem
zscore
檢視元素分數
zrange
zrevrange
zrangeByScore
zrangeByScoreWithScores
同時傳回元素值和分數
zincrby
提升元素分數
zcard
zcount
統計指定分數範圍内元素個數
zremrangeByScore
zrank
擷取元素排名,從 0 開始
zinterstore
執行交集處理後存儲到新的有序集合
可以指定交集内元素分數的設定
最大
最小
兩相同元素之和
文章 ID 作為元素内容,文章通路量作為元素分數,每次通路就加一。
文章 ID 作為元素内容,文章時間戳作為元素分數,可以實作修改和檢視指定時間段的文章。