您好,登錄后才能下訂單哦!
這篇文章主要講解了“Redis有序集合類型的常用命令整理”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Redis有序集合類型的常用命令整理”吧!
Redis常用命令整理有序集合類型
增加元素
zadd key score member [ score member ...... ]
zadd 命令用來向有序集合中加入一個元素和該元素的分數,如果該元素已經存在,則會用新的分數替換原有的分數。zadd命令的返回值是新加入到集合中的元素個數(不包含之前已經存在的元素)
獲得元素的分數
zscore key member
返回為member 成員的 score 值,以字符串形式表示。
獲得排名在某個范圍的元素列表
zrange key start stop [ withscores ]
zrange 命令會按照元素分數從小到大的順序返回索引從 start 到 stop 之間的所有元素(包含兩端的元素)。zrange 命令和 lrange 命令十分相似,如索引都是從0開始,負數代表從后向前查找(-1 表示最后一個元素)。如果需要同時獲得元素的分數的話,可以在zrange 命令的尾部加上 widthscores 參數
注:如果兩個元素的分數相同,redis會按照字典順序(即 0<9<A<Z<a<z 這樣的順序)來進行排列。如果元素的值是中文,則取決于中文的編碼方式
zrevrange key start stop [ withscores ]
zrevrange 命令和 zrange 的唯一不同在于 zrevrange 是按照元素分數從大到小的順序給定結果的
獲得指定分數范圍內的元素
zrangebyscore key min max [ withscores ] [ limit offset count ]
該命令按照元素分數從小到大的順序返回分數在 min 到 max 之間(包含 min 和max 的元素)
如果希望分數范圍不包含端點值,可以在分數前加上 "(" 符號,例如:希望返回80分到100分的的數據,可以包含80分單不包含100分
命令:zrangebyscore scoreboard 80 (100 widthscores
min 和 max 還支持無窮大,同 zadd 命令一樣,-inf 和 +inf 分別表示負無窮大和正無窮大。比如希望得到所有分數高于 80分(不包含80分)的人的名單,但是卻不知道最高分是多少,這是就可以使用 +inf zrangebyscore scoreboard (80 +inf
命令 limit offset count 與 SQL 中的用法基本相同,即在獲得的元素列表的基礎上向后偏移 offset 個元素并且只獲取前count個元素
zrevrangebyscore 不僅是按照元素分數從大往小的順序給出結果,而且他的 min 和max 的參數的順序和 zrangebyscore 命令是相反的
增加某個元素的分數
zincrby key increment member
zincrby 命令可以增加一個元素的分數,返回值是更改后的分數,例如想給peter 加 4 分
zincrby scoreborder 4 peter
increment 也可以是負數表示減分
zincrby scoreborder -4 peter
如果指定元素不存在,redis 在執行命令前會先建立它并將他的值賦為0在執行操作
獲得集合中元素的數量
zcard key
當 key 存在且是有序集類型時,返回有序集的基數。當 key 不存在時,返回 0 。
獲得指定分數范圍內的元素個數
zcount key min max
zcount 命令的 min max 參數的特性與 zrangebyscore 命令中的一樣
刪除一個或多個元素
zrem key member [ member .... ]
zrem 命令的返回值是成功刪除的元素數量(不包含本來就不存在的元素)
按照排名范圍刪除元素
zremrangebyrank key start stop
按照元素分數從小到大的順序(即索引 0 表示最小的值)刪除在指定排名范圍內的所有元素,并返回刪除元素的數量
按照分數范圍刪除元素
zremrangebyscore key min max
zremrangebyscore 命令刪除指定分數范圍內的所有元素,參數 min 和 max 的特性和 zrangebyscore 命令中的一樣,返回值是刪除元素的個數
獲得元素的排名
zrank key member
zrank 命令會按照元素分數從小到大的順序獲得指定的元素排名(從 0 開始,即分數最小的元素排名為0)
zrevrank key member
zrebrank 命令則正好相反,分數最大的元素排名為0
計算有序集合的交集
zinterstore destination numkeys key [ key ... ] [ weights weight [ weight ... ] ] [ aggregate SUM | MIN | MAX ]
zinterstore 命令用來計算多個有序集合的交集病將結果存儲在 destination 鍵中(同樣以有序集合類型存儲),返回值為 destination 鍵中元素的個數,destination 鍵中元素的分數是由 aggregate 參數決定的
1. 當 aggregate 是 SUM (也就是默認值),destination 鍵中元素的分數是每個參與計算的集合中該元素分數的和
2.當 aggregate 是 MIN 時,destination 鍵中元素的分數是參與計算的集合中該元素分數最小值
3.當 aggregate 是 MAX 是,destination 鍵中元素的分數是參與計算的集合中該元素分數最大值
zinterstore 命令還能通過 weights 參數設置每個集合的權重,每個集合在參與計算時元素的分數會被乘上該集合的權重
計算集合間的并集
zunionstore
用法與 zinterstore 命令的用法一樣
感謝各位的閱讀,以上就是“Redis有序集合類型的常用命令整理”的內容了,經過本文的學習后,相信大家對Redis有序集合類型的常用命令整理這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。