Redis基本數據類型Zset有序集合常用操作
Redis數據類型Zset有序集合
有序集合和集合一樣也是 string 類型元素的集合,且不允許重復的成員。
不同的是有序集合每個元素都會關聯一個 double 類型的分數。redis 正是通過分數來為集合中的成員進行從小到大的排序。
有序集合的成員是唯一的,但分數(score)卻可以重復。
集合是通過哈希表實現的,所以添加、刪除、查找的復雜度都是 O(1)。
一、zadd
將一個或多個成員元素及其分數值加入到有序集當中。分數值可以是整數值或雙精度浮點數。
若有序集合 key 不存在,則創建一個空的有序集並執行zadd
操作。
若 key 存在但不是有序集類型時,返回一個錯誤。
zadd myzset 1 one 1.11 two 3.25 three
二、zrange
返回有序集中,指定區間內的成員。其中成員的位置按分數值遞增(從小到大)來排序。
具有相同分數值的成員按字典序(lexicographical order )來排列。
zrange myzset 0 -1
還可以帶上分數返回:
zrange myzset 0 -1 WITHSCORES
三、zrevrange
返回有序集中,指定區間內的成員。其中成員的位置按分數值遞減(從大到小)來排列。
zrevrange myzset 0 -1 WITHSCORES
四、zrangebyscore
返回有序集合中指定分數區間的成員列表。有序集成員按分數值遞增(從小到大)次序排列。
zrangebyscore myzset (1 2 # 這裡相當於 1< score <=2
zrangebyscore myzset 1 2 # 這裡相當於 1<= score <=2
zrangebyscore myzset -inf +inf # 這裡-inf +inf 相當於 負無窮、正無窮,顯示出所有
五、 zrem
移除有序集中的一個或多個成員,不存在的成員將被忽略。
zrem myzset one three four
六、zcard
用於計算集合中元素的數量。
zcard myzset
七、zcount
用於計算有序集合中指定分數區間的成員數量。
zcount myzset 2 5
還有其他的命令,在使用過程中不清楚可以查看官方文檔中的命令查詢,非常詳盡。
set的使用場景也很豐富,比如可以用來用作排序場景、存儲工資表、班級成績表、xx排行榜等等。
以上就是Redis基本數據類型Zset有序集合常用操作的詳細內容,更多關於Redis數據類型Zset有序集合的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- golang-redis之sorted set類型操作詳解
- Python訪問Redis的詳細操作
- Redis數據庫安裝部署及基本操作詳解
- ThinkPHP5中如何使用redis
- PHP redis Sorted Set實現字符串去重代碼示例