日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

Redis基本數(shù)據(jù)類型Zset有序集合常用操作_Redis

作者:把蘋果咬哭的測試筆記 ? 更新時間: 2022-07-28 編程語言

Redis數(shù)據(jù)類型Zset有序集合

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

不同的是有序集合每個元素都會關聯(lián)一個 double 類型的分數(shù)。redis 正是通過分數(shù)來為集合中的成員進行從小到大的排序。

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

集合是通過哈希表實現(xiàn)的,所以添加、刪除、查找的復雜度都是 O(1)。

一、zadd

將一個或多個成員元素及其分數(shù)值加入到有序集當中。分數(shù)值可以是整數(shù)值或雙精度浮點數(shù)。

若有序集合 key 不存在,則創(chuàng)建一個空的有序集并執(zhí)行zadd操作。

若 key 存在但不是有序集類型時,返回一個錯誤。

zadd myzset 1 one 1.11 two 3.25 three

二、zrange

返回有序集中,指定區(qū)間內的成員。其中成員的位置按分數(shù)值遞增(從小到大)來排序。

具有相同分數(shù)值的成員按字典序(lexicographical order )來排列。

zrange myzset 0 -1

還可以帶上分數(shù)返回:

zrange myzset 0 -1 WITHSCORES

三、zrevrange

返回有序集中,指定區(qū)間內的成員。其中成員的位置按分數(shù)值遞減(從大到小)來排列。

zrevrange myzset 0 -1 WITHSCORES

四、zrangebyscore

返回有序集合中指定分數(shù)區(qū)間的成員列表。有序集成員按分數(shù)值遞增(從小到大)次序排列。

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

用于計算集合中元素的數(shù)量。

zcard myzset

七、zcount

用于計算有序集合中指定分數(shù)區(qū)間的成員數(shù)量。

zcount myzset 2 5

還有其他的命令,在使用過程中不清楚可以查看官方文檔中的命令查詢,非常詳盡。

set的使用場景也很豐富,比如可以用來用作排序場景、存儲工資表、班級成績表、xx排行榜等等。

原文鏈接:https://blog.csdn.net/wessonlan/article/details/124813034

欄目分類
最近更新