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

學(xué)無(wú)先后,達(dá)者為師

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

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

作者:把蘋果咬哭的測(cè)試筆記 ? 更新時(shí)間: 2022-07-28 編程語(yǔ)言

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

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

不同的是有序集合每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè) double 類型的分?jǐn)?shù)。redis 正是通過(guò)分?jǐn)?shù)來(lái)為集合中的成員進(jìn)行從小到大的排序。

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

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

一、zadd

將一個(gè)或多個(gè)成員元素及其分?jǐn)?shù)值加入到有序集當(dāng)中。分?jǐn)?shù)值可以是整數(shù)值或雙精度浮點(diǎn)數(shù)。

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

若 key 存在但不是有序集類型時(shí),返回一個(gè)錯(cuò)誤。

zadd myzset 1 one 1.11 two 3.25 three

二、zrange

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

具有相同分?jǐn)?shù)值的成員按字典序(lexicographical order )來(lái)排列。

zrange myzset 0 -1

還可以帶上分?jǐn)?shù)返回:

zrange myzset 0 -1 WITHSCORES

三、zrevrange

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

zrevrange myzset 0 -1 WITHSCORES

四、zrangebyscore

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

zrangebyscore myzset (1 2 # 這里相當(dāng)于 1< score <=2
zrangebyscore myzset 1 2 # 這里相當(dāng)于 1<= score <=2
zrangebyscore myzset -inf +inf # 這里-inf +inf 相當(dāng)于 負(fù)無(wú)窮、正無(wú)窮,顯示出所有

五、 zrem

移除有序集中的一個(gè)或多個(gè)成員,不存在的成員將被忽略。

zrem myzset one three four

六、zcard

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

zcard myzset

七、zcount

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

zcount myzset 2 5

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

set的使用場(chǎng)景也很豐富,比如可以用來(lái)用作排序場(chǎng)景、存儲(chǔ)工資表、班級(jí)成績(jī)表、xx排行榜等等。

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

欄目分類
最近更新