天天看點

redis-07 五大基本類型之ZSet

目錄

redis-07 五大基本類型之ZSet

概述

指令

增、删、改、查

根據排名擷取元素

根據分數擷取元素

增加元素分數

統計、删除指定範圍元素

有序集合交集

實踐

文章通路量

文章日期

Redis 中的有序集合在集合的基礎上為每個元素都關聯了一個分數,有了分數之後我們就能依據分數進行相應的操作(排序、插入、删除……),這一點似乎和連結清單很像,但是兩者的差別卻很大:

List 基于雙向連結清單實作,而有序集合基于跳表實作(讀取複雜度低);

List 中改變元素的位置很是麻煩(該表前驅節點啊、後續節點啊什麼的),但是有序集合隻需要改變元素的分數就能改變其位置。

zadd

新增或者修改(已存在的元素)元素和分數

zrem

zscore

檢視元素分數

zrange

zrevrange

zrangeByScore

zrangeByScoreWithScores

同時傳回元素值和分數

zincrby

提升元素分數

zcard

zcount

統計指定分數範圍内元素個數

zremrangeByScore

zrank

擷取元素排名,從 0 開始

zinterstore

執行交集處理後存儲到新的有序集合

可以指定交集内元素分數的設定

最大

最小

兩相同元素之和

文章 ID 作為元素内容,文章通路量作為元素分數,每次通路就加一。

文章 ID 作為元素内容,文章時間戳作為元素分數,可以實作修改和檢視指定時間段的文章。