(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)-菜鳥教程