日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

7.Redis常用命令:ZSet

發(fā)布時間:2025/6/15 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 7.Redis常用命令:ZSet 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  Sorted-Sets和Sets類型極為相似,它們都是字符串的集合,都不允許重復的成員出現(xiàn)在一個Set中。它們之間的主要差別是Sorted-Sets中的每一個成員都會有一個分數(shù)(score)與之關聯(lián),Redis正是通過分數(shù)來為集合中的成員進行從小到大的排序。然而需要額外指出的是,盡管Sorted-Sets中的成員必須是唯一的,但是分數(shù)(score)卻是可以重復的。
  在Sorted-Set中添加、刪除或更新一個成員都是非常快速的操作,其時間復雜度為集合中成員數(shù)量的對數(shù)。由于Sorted-Sets中的成員在集合中的位置是有序的,因此,即便是訪問位于集合中部的成員也仍然是非常高效的。事實上,Redis所具有的這一特征在很多其它類型的數(shù)據(jù)庫中是很難實現(xiàn)的,換句話說,在該點上要想達到和Redis同樣的高效,在其它數(shù)據(jù)庫中進行建模是非常困難的。

1、ZADD key score member [score] [member]

增加多個成員

127.0.0.1:6379> zadd CountryPower 99 America 90 China 97 Russia 80 Brazil 89 Japan (integer) 5 127.0.0.1:6379> zrange CountryPower 0 -1 withscores1) "Brazil"2) "80"3) "Japan"4) "89"5) "China"6) "90"7) "Russia"8) "97"9) "America" 10) "99"

2、ZREM key member [member ...]

該命令將移除參數(shù)中指定的成員,其中不存在的成員將被忽略。

127.0.0.1:6379> zrange CountryPower 0 -1 withscores1) "Brazil"2) "80"3) "Japan"4) "89"5) "China"6) "90"7) "Russia"8) "97"9) "America" 10) "99" 127.0.0.1:6379> zrem CountryPower Brazil Japan (integer) 2 127.0.0.1:6379> zrange CountryPower 0 -1 withscores 1) "China" 2) "90" 3) "Russia" 4) "97" 5) "America" 6) "99"

3、ZINCRBY key increment member

為key中的member加指定分數(shù)(increment)

127.0.0.1:6379> zrange CountryPower 0 -1 withscores 1) "China" 2) "90" 3) "Russia" 4) "97" 5) "America" 6) "99" 127.0.0.1:6379> zincrby CountryPower 5 China //為中國增加5點 "95" 127.0.0.1:6379> zrange CountryPower 0 -1 withscores 1) "China" 2) "95" 3) "Russia" 4) "97" 5) "America" 6) "99"

4、ZSCORE key member

獲取指定Key的指定成員的分數(shù)

127.0.0.1:6379> zrange CountryPower 0 -1 withscores 1) "China" 2) "95" 3) "Russia" 4) "97" 5) "America" 6) "99" 127.0.0.1:6379> zscore CountryPower China "95"

5、ZRANK key member

返回成員在列表中的下標

127.0.0.1:6379> zrange CountryPower 0 -1 withscores 1) "China" 2) "95" 3) "Russia" 4) "97" 5) "America" 6) "99" 127.0.0.1:6379> zrank CountryPower Russia (integer) 1

6、ZREVRANK key member?

該命令的功能和ZRANK基本相同,唯一的差別在于該命令獲取的索引是從高到低排序后的位置,同樣0表示第一個元素,即分數(shù)最高的成員。

127.0.0.1:6379> zrange CountryPower 0 -1 withscores 1) "China" 2) "95" 3) "Russia" 4) "97" 5) "America" 6) "99" 127.0.0.1:6379> zrank CountryPower America (integer) 2 127.0.0.1:6379> zrevrank CountryPower America (integer) 0

7、ZCARD key

成員數(shù)量

127.0.0.1:6379> zrange CountryPower 0 -1 withscores 1) "China" 2) "95" 3) "Russia" 4) "97" 5) "America" 6) "99" 127.0.0.1:6379> zcard CountryPower (integer) 3

8、ZCOUNT key min max

計算分數(shù)在min與max之間的成員數(shù)量。針對min和max參數(shù)需要額外說明的是,-inf和+inf分別表示Sorted-Sets中分數(shù)的最高值和最低值。缺省情況下,min和max表示的范圍是閉區(qū)間范圍,即min <= score <= max內的成員將被返回。然而我們可以通過在min和max的前面添加"("字符來表示開區(qū)間,如(min max表示min < score <= max,而(min (max表示min < score < max。

127.0.0.1:6379> zrange CountryPower 0 -1 withscores1) "France"2) "85"3) "German"4) "88"5) "Japan"6) "89"7) "China"8) "95"9) "Russia" 10) "97" 11) "America" 12) "99" 127.0.0.1:6379> zcount CountryPower 90 +inf //從90分到最高分 (integer) 3 127.0.0.1:6379> zcount CountryPower -inf 90 //從最低分到90分 (integer) 3 127.0.0.1:6379> zcount CountryPower 85 89 //從85分(包含)到89分(包含) (integer) 3 127.0.0.1:6379> zcount CountryPower (85 (89 //從85分(不包含)到89分(不包含) (integer) 1

---------------------- ?范圍篩選 ?---------------------- ?

9、ZRANGE key start stop [WITHSCORES]?

截取范圍內的成員(自選帶分數(shù))

127.0.0.1:6379> zrange CountryPower 0 -1 withscores1) "France"2) "85"3) "German"4) "88"5) "Japan"6) "89"7) "China"8) "95"9) "Russia" 10) "97" 11) "America" 12) "99"

10、ZREVRANGE key start stop [WITHSCORES]

該命令的功能和ZRANGE基本相同,唯一的差別在于該命令是通過反向排序獲取指定位置的成員,即從高到低的順序。

127.0.0.1:6379> zrevrange CountryPower 0 -1 withscores1) "America"2) "99"3) "Russia"4) "97"5) "China"6) "95"7) "Japan"8) "89"9) "German" 10) "88" 11) "France" 12) "85"

11、ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]?

返回分數(shù)滿足表達式min <= score <= max的成員,其中返回的成員是按照其分數(shù)從低到高的順序返回,如果成員具有相同的分數(shù),則按成員的字典順序返回。LIMIT用于限制返回成員的數(shù)量范圍??蛇x參數(shù)offset表示從符合條件的第offset個成員開始返回,同時返回count個成員。參數(shù)中min和max的規(guī)則可參照命令ZCOUNT

127.0.0.1:6379> zrevrange CountryPower 0 -1 withscores1) "America"2) "99"3) "Russia"4) "97"5) "China"6) "95"7) "Japan"8) "89"9) "German" 10) "88" 11) "France" 12) "85" 127.0.0.1:6379> zrangebyscore CountryPower 90 99 withscores //95 97 99 1) "China" 2) "95" 3) "Russia" 4) "97" 5) "America" 6) "99" 127.0.0.1:6379> zrangebyscore CountryPower 90 99 withscores limit 1 2 //從取得的結果,從下標為1開始取,取2個 1) "Russia" 2) "97" 3) "America" 4) "99"

12、ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]

該命令除了排序方式是基于從高到低的分數(shù)排序之外,其它功能和參數(shù)含義均與ZRANGEBYSCORE相同。

127.0.0.1:6379> zrevrangebyscore CountryPower 99 90 withscores 1) "America" 2) "99" 3) "Russia" 4) "97" 5) "China" 6) "95" 127.0.0.1:6379> zrevrangebyscore CountryPower 99 90 withscores limit 0 2 1) "America" 2) "99" 3) "Russia" 4) "97"

------------- ?批量刪除?-------------

13、ZREMRANGEBYRANK key start stop

刪除索引位置位于start和stop之間的成員,start和stop都是0-based,即0表示分數(shù)最低的成員,-1表示最后一個成員,即分數(shù)最高的成員。

127.0.0.1:6379> zrange CountryPower 0 -1 withscores1) "France"2) "85"3) "German"4) "88"5) "Japan"6) "89"7) "China"8) "95"9) "Russia" 10) "97" 11) "America" 12) "99" 127.0.0.1:6379> zremrangebyrank CountryPower 0 1 (integer) 2 127.0.0.1:6379> zrange CountryPower 0 -1 withscores 1) "Japan" 2) "89" 3) "China" 4) "95" 5) "Russia" 6) "97" 7) "America" 8) "99"

14、ZREMRANGEBYSCORE key min max

刪除分數(shù)在min和max之間的所有成員,即滿足表達式min <= score <= max的所有成員。對于min和max參數(shù),可以采用開區(qū)間的方式表示,具體規(guī)則參照ZCOUNT。

127.0.0.1:6379> zrange CountryPower 0 -1 withscores 1) "Japan" 2) "89" 3) "China" 4) "95" 5) "Russia" 6) "97" 7) "America" 8) "99" 127.0.0.1:6379> zremrangebyscore CountryPower -inf 95 //刪除95分(含)以下的 (integer) 2 127.0.0.1:6379> zrange CountryPower 0 -1 withscores 1) "Russia" 2) "97" 3) "America" 4) "99"

?

轉載于:https://www.cnblogs.com/chanshuyi/p/5231902.html

總結

以上是生活随笔為你收集整理的7.Redis常用命令:ZSet的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。