[Redis 基礎知識] Redis Zset 型別常用命令

DavidH發表於2024-11-25

(1)簡介

Redis 有序集合和集合一樣也是string型別元素的集合,且不允許重複的成員。

不同的是每個元素都會關聯一個double型別的分數(score)。redis正是透過分數(score)來為集合中的成員進行從小到大的排序。

有序集合的成員是唯一的,但分數(score)卻可以重複。

集合是透過雜湊表實現的,所以新增,刪除,查詢的複雜度都是O(1)。 集合中最大的成員數為 2^32 - 1 (4294967295, 每個集合可儲存40多億個成員)。

(2)常用命令

命令 含義
zadd key [NX|XX] [CH] [INCR] score member [score member ...] 向有序集合新增一個或多個成員,或者更新已存在成員的分數
zrange key start stop [WITHSCORES] 透過索引區間返回有序集合指定區間內的成員, WITHSCORES表示同時輸出分數
zrangebyscore key min max [WITHSCORES] [LIMIT offset count] 透過字典區間返回有序集合的成員。
在分數左側加(表示不包含,例如zrangebyscore key (10 20表示顯示分數在(10,20]內的所有元素。
WITHSCORES表示同時輸出分數
LIMIT用作返回限制,表示從offset位置開始, 讀取count個元素
zrem key member [member ...] 移除key幾個中的一個或多個元素
zcard key 獲取有序集合的元素個數
zcount key min max 獲得有序集合中分數在min,max之間的元素的個數
zrank key member 獲取有序集合中指定元素的索引
zscore key member 獲取有序集中,元素的分數值
zrevrank key member 逆序的zrank
zrevrange key start stop [WITHSCORES] 逆序的zrange
zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count] 逆序的zrangebyscore

參考文件

Redis 有序集合(sorted set)-菜鳥教程

相關文章