Redis之6 sorted set型別詳解

2021-10-06 15:56:47 字數 1575 閱讀 9807

redis 有序集合和集合一樣也是string型別元素的集合,且不允許重複的成員。不同的是每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。有序集合的成員是唯一的,但分數(score)卻可以重複。 集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是o(1)。

序號命令及描述

1zadd key score1 member1 [score2 member2]

向有序集合新增乙個或多個成員,或者更新已存在成員的分數

2zcard key

獲取有序集合的成員數

3zcount key min max

計算在有序集合中指定區間分數的成員數

4zincrby key increment member

有序集合中對指定成員的分數加上增量 increment

5zinterstore destination numkeys key [key ...]

計算給定的乙個或多個有序集的交集並將結果集儲存在新的有序集合 key 中

6zlexcount key min max

在有序集合中計算指定字典區間內成員數量

7zrange key start stop [withscores]

通過索引區間返回有序集合指定區間內的成員

8zrangebylex key min max [limit offset count]

通過字典區間返回有序集合的成員

9zrangebyscore key min max [withscores] [limit]

通過分數返回有序集合指定區間內的成員

10zrank key member

返回有序集合中指定成員的索引

11zrem key member [member ...]

移除有序集合中的乙個或多個成員

12zremrangebylex key min max

移除有序集合中給定的字典區間的所有成員

13zremrangebyrank key start stop

移除有序集合中給定的排名區間的所有成員

14zremrangebyscore key min max

移除有序集合中給定的分數區間的所有成員

15zrevrange key start stop [withscores]

返回有序集中指定區間內的成員,通過索引,分數從高到低

16zrevrangebyscore key max min [withscores]

返回有序集中指定分數區間內的成員,分數從高到低排序

17zrevrank key member

返回有序集合中指定成員的排名,有序集成員按分數值遞減(從大到小)排序

18zscore key member

返回有序集中,成員的分數值

19zunionstore destination numkeys key [key ...]

計算給定的乙個或多個有序集的並集,並儲存在新的 key 中

20zscan key cursor [match pattern] [count count]

迭代有序集合中的元素(包括元素成員和元素分值)

Redis常見資料型別五 Sorted Set

新的儲存需求 資料排序有利於資料的有效展示,需要提供一種可以根據自身特徵進行排序的方式。需要的儲存結構 新的儲存模型,可以儲存可排序的資料。新增資料 格式 zadd key score member score1 member1 刪除資料 格式 zrem key member member1 獲取全...

6 Redis系列之 持久化

redis的所有資料儲存在記憶體中,對資料的更新將非同步的儲存到硬碟上 快照 某時某刻資料的乙個完成備份,mysql的dump redis的rdb 寫日誌 任何操作記錄日誌,要恢復資料,只要把日誌重新走一遍即可 mysql的 binlog hhase的 hlog redis的 aof s e 同步 ...

Redis學習 6 事務

當多個客戶端需要操作同乙個key時,就涉及到鎖的問題了,在redis中,提供乙個可以監視所需要操作的key的方法 對於watch來說,重點是修改key,一旦key被修改,事務就被取消,但是對於搶購來說,不可能別人買了東西,你就不能買了,正常來說,只要這個商品還有,就能夠購買。這個時候就需要用到分布式...