Redis有序集合操作

筆頭先生發表於2018-05-16

SortedSet有序集合

  1. 類似Set集合
  2. 有序的、去重的
  3. 元素是字串型別
  4. 每個元素都關聯著一個浮點數分值(Score),並按照分值從小到大的順序排列集合中的元素。分值可以相同
  5. 最多包涵2^32 - 1 元素

增加元素

ZADD key sorce member [sorce member...]
如果元素已經存在,則使用新的score

刪除元素

ZREM key member [member...]
如果不存在,自動忽略

顯示分值

ZSCORE key member 計算機並不能精確的表示每一個浮點數,都是一種近似表達

增加或減少分值

ZINCRBY key increment member
increment為負數就是減少

返回元素的排名

ZRANK key member

返回元素的逆序排名

ZREVRANK key member

返回指定索引區間元素

ZRANGE key start stop [WITHSCORES]
ZREVRANGE key start stop [WITHSCORES] 逆序

返回指定分值區間元素

正序:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
逆序:ZREVRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
1、LIMIT 中的 offset表示跳過多少個元素,count表示返回個數
2、還可以使用小括號,改為開區間
3、-inf 和 +inf 表示負無窮和正無窮

移除指定排名範圍的元素

ZREMRANGEBYRANK key start stop

移除指定分值範圍的元素

ZREMRANGEBYSCORE key min max

返回集合中元素個數

ZCARD key

返回指定範圍的元素個數

ZCOUNT key min max

並集

ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]
1、destination 目標集合
2、numkeys 要操作的集合的個數
3、weights 權重,預設均為1
4、aggregate 相同元素分值計算方法,預設為求和SUM

交集

ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]


相關文章