Redis sorted set(有序集合)相關命令

Redis 有序集合是string類型元素的集合,元素不容許重複。redis

有序集合中的每一個元素都會關聯一個數值型的分數。redis正是經過分數來爲集合中的成員進行從小到大的排序。spa

有序集合的成員是惟一的(不可重複),但分數(score)能夠重複。code

 

 

一、zadd  key  score1  value1  score2  value2 .....    //往有序集合中添加一個或多個元素。score是數值型,支持整數、浮點數,支持負數。z表明sorted set。blog

示例: zadd students 1 zhangsan 2 lisi 3 wangwu    //返回這次添加的元素個數。score只是附加信息,真正的元素仍是value1,value2,......排序

說明:hash、list、set、sorted set,在Reids2.4以前的版本中,1次只支持添加一個元素,不支持1次添加多個元素。索引

 

 

二、zcard  key   //返回元素個數element

 

 

三、zcount  key  minScore  maxScore    //返回分數值在[minScore,maxScore]上的元素個數rem

 

 

四、zlexcount  key  minValue  maxValue   //返回元素值在[minValue,maxValue]上的元素個數。string

不能直接用元素值,有3種寫法:hash

  •  [value   表示包含此元素
  • (value  表示不包含此元素
  • -表示第一個元素(包含),+表示最後一個元素(包含)

示例:

 zadd set1 1 a 2 b 3 c 4 d 

 zlexcount set1 - +    //返回總元素個數,4

 zlexcount set1 [a [b    //2 。即[a,b]上元素個數

 zlexcount set1 (a [b    //1。(a,b]

 不能缺省 [  或  (

 

 

 

 

 

五、zrange  key  minIndex  maxIndex  [withscores]    //返回索引在[minIndex,maxIndex]上的全部元素。

索引從0開始,支持負數,-1表示倒數第一個元素,-2表示倒數第二個元素。

withscores是可選參數,帶上則還會顯示分數,不帶則只顯示元素值。

 

六、zrangebyscore  key  minScore  maxScore  [withscores]

返回score在[minScore,maxScore]上的全部元素值。

默認使用[  ,閉區間。也能夠顯示指定爲  [  或 (  。

withscores可選,帶上時會顯示元素的score,不帶上時不顯示score。

示例: zrangebyscore set1 [1 (2     //獲取score在[1,2)上的全部元素

 

七、zrank   key   elementValue    //返回該元素值的索引。默認按score進行升序排列。索引從0開始。

 

 

 

以上3個命令都是按score升序排列的。下面的3個命令:

  • zrevrange
  • zrevrangebyscore
  • zrevrank

前綴加不是z,而是zrev。和以前的3個命令一一對應,用法徹底相同,只不過是按score降序排列計算的。

 

 

 

 

八、zscore  key  elementValue   //返回該元素值對應的score值

 

九、zincrby  key  increment  elementValue    //increment是增量,將指定元素的score增長increment。increment支持負數,即減。

 

 

 

 

十、zrem  key  value1  value2  .....    //移除一個或多個元素

 

十一、zremrangebyrank  key  startIndex  endIndex    //移除下標在[startIndex,endIndex]上的全部元素。zremrangebyrank即z  remove  range  by  rank

 

十二、zremrangebyscore  key  minScore  maxScore   //移除score在[minScore,maxScore]上的全部元素

 

1三、zremrangebylex  key  value1  value2    //移除這2個元素值之間的全部元素。

不能直接寫元素值,能夠用- +表示,或者在元素值前面加[  (

 

 

 

 

1四、zscan  key  cursor  [match  pattern]    [count  num]    //迭代

 

 

sorted  set也提供了計算交集、並集的命令,此處再也不一一介紹。

相關文章
相關標籤/搜索