有序集合型別(
sorted
set),在集合型別的基礎上,為集合中的每個元素都關聯了乙個分數。支援獲得分數最高(或最低)的前
n個元素、獲得指定分數範圍內的元素等與分數有關的操作。
有序集合型別使用雜湊表和跳躍表實現的。
命令:1
、有序集合增加元素
zaddkey score member [score member ...]
如果元素已經存在,則修改元素的分數。分數不僅可以是整數,還支援雙精度浮點數。
+inf
和-inf
表示正無窮和負無窮
redis>zadd testboard 17e+307 a
redis>zadd testboard +inf c
redis>zadd testboard -inf d
2、獲得元素的分數
zscorekey member
3、獲得排名在某個範圍的元素列表
zrangekey start stop [withscores]
zrevrange key start stop [withscores]
zrange
命令會按照元素分數從小到大的順序返回索引從
start
到stop
之間的所有元素。包括兩端。
-1表示最後乙個元素。加上後面的
withscores
,返回的結果會跟上元素的分數。
zrevrange
按照從大到小的順序返回結果。 4
、獲得指定分數範圍的元素
zrangebyscore key min max [withscores] [limit offsetcount]
zrevrangebyscore key max min [withscores] [limitoffset count]
如果希望分數範圍不包含端點值,可以在分數前加上「
(」符號。
redis> zrangebyscore scoreboard 80(100 5
、增加某個元素的分數
zincrby key increment member 6
、獲得有序集合中元素數量
zcardkey
7、獲得指定分數範圍內的元素個數
zcountkey min max
8、刪除乙個或多個元素
zremkey member [member ...]
9、按照排名範圍刪除元素
zremrangebyrankkey start stop
10、按照分數範圍刪除元素
zremrangebyscorekey min max
11、獲得元素排名
zrankkey member
zrevrank key member 12
、計算有序集合的交集/並集
zinterstoredestination numkeys key [key ...] [weights weight [weight...]] [aggregate sum|min|max]
zunionstore destination numkeys key [key ...] [weightsweight [weight ...]] [aggregate sum|min|max]
destination
鍵中元素的分數是由
aggregate
引數決定的,預設是
sum。
sum是各參與計算的集合中該元素分數的和,
min是最訊息,
max是最大值。 通過
weights
引數設定每個集合的權重,每個集合在參與計算時元素的分數會被乘上該集合的權重。
redis>zinterstore result 2 sortedset1 sortedset2 weights 1 0.1
Redis學習之有序集合型別
有序結合與集合型別就是它是有序的,有序集合在集合的基礎上為每乙個元素關聯乙個分數,這就讓有序集合不支援插入 刪除。有序集合中的每個元素是不同的,但分數卻可以向他。有序集合使用雜湊表和跳躍表實現,即使讀取位於中間部分的資料也很快。有序集合比列表更費記憶體。基本命令如下 一 增127.0.0.1 637...
Redis學習筆記(二)型別之字串
命令 1 獲得符合規則的健名列表 keyspattern pattern 支援glob 風格萬用字元格式,具體規則如下 匹配乙個字元 匹配任意個 包括 0個 字元 匹配括號間的任一字元,可以使用 符號表示乙個範圍,如 a b d 可以匹配 ab ac 和 ad x 匹配字元 x,用於轉義符號。如要匹...
PHP學習筆記(三) 型別 布林型
下面效果相同,說明true和false並不區分大小寫。再為大家介紹兩種方式,因為 很簡單,所以不做贅述了。vs 下面介紹一種應用 轉換為布林值 要明示地將乙個值轉換成 boolean,用 bool 或者 boolean 來強制轉換。但是很多情況下不需要用強制轉換,因為當運算子,函式或者流程控制需要乙...