網(wǎng)站首頁(yè) 編程語(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
相關(guān)推薦
- 2024-04-04 netty使用http和webSocket
- 2022-10-14 使用docker起一個(gè)verdaccio的容器
- 2022-04-18 WPF框架Prism中對(duì)話框Dialog用法介紹_自學(xué)過(guò)程
- 2022-04-08 C++中成員函數(shù)和友元函數(shù)的使用及區(qū)別詳解_C 語(yǔ)言
- 2022-07-23 Go語(yǔ)言學(xué)習(xí)筆記之文件讀寫操作詳解_Golang
- 2022-05-05 Python學(xué)習(xí)之字符串常用方法總結(jié)_python
- 2021-12-18 html2canvas不能截取svg中image標(biāo)簽(解決)
- 2022-04-27 使用jQuery實(shí)現(xiàn)圖片輪播效果_jquery
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支