经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Redis » 查看文章
Redis sorted set(有序集合)相关命令
来源:cnblogs  作者:chenhongyong  时间:2019/6/25 10:15:39  对本文有异议

Redis 有序集合是string类型元素的集合,元素不允许重复。

有序集合中的每个元素都会关联一个数值型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的(不可重复),但分数(score)可以重复。

 

 

1、zadd  key  score1  value1  score2  value2 .....    //往有序集合中添加一个或多个元素。score是数值型,支持整数、浮点数,支持负数。z代表sorted set。

示例: zadd students 1 zhangsan 2 lisi 3 wangwu    //返回此次添加的元素个数。score只是附加信息,真正的元素还是value1,value2,......

说明:hash、list、set、sorted set,在Reids2.4之前的版本中,1次只支持添加一个元素,不支持1次添加多个元素。

 

 

2、zcard  key   //返回元素个数

 

 

3、zcount  key  minScore  maxScore    //返回分数值在[minScore,maxScore]上的元素个数

 

 

4、zlexcount  key  minValue  maxValue   //返回元素值在[minValue,maxValue]上的元素个数。

不能直接用元素值,有3种写法:

  •  [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]

 不能缺省 [  或  (

 

 

 

 

 

5、zrange  key  minIndex  maxIndex  [withscores]    //返回索引在[minIndex,maxIndex]上的所有元素。

索引从0开始,支持负数,-1表示倒数第一个元素,-2表示倒数第二个元素。

withscores是可选参数,带上则还会显示分数,不带则只显示元素值。

 

6、zrangebyscore  key  minScore  maxScore  [withscores]

返回score在[minScore,maxScore]上的所有元素值。

默认使用[  ,闭区间。也可以显示指定为  [  或 (  。

withscores可选,带上时会显示元素的score,不带上时不显示score。

示例: zrangebyscore set1 [1 (2     //获取score在[1,2)上的所有元素

 

7、zrank   key   elementValue    //返回该元素值的索引。默认按score进行升序排列。索引从0开始。

 

 

 

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

  • zrevrange
  • zrevrangebyscore
  • zrevrank

前缀加不是z,而是zrev。和之前的3个命令一一对应,用法完全相同,只不过是按score降序排列计算的。

 

 

 

 

8、zscore  key  elementValue   //返回该元素值对应的score值

 

9、zincrby  key  increment  elementValue    //increment是增量,将指定元素的score增加increment。increment支持负数,即减。

 

 

 

 

10、zrem  key  value1  value2  .....    //移除一个或多个元素

 

11、zremrangebyrank  key  startIndex  endIndex    //移除下标在[startIndex,endIndex]上的所有元素。zremrangebyrank即z  remove  range  by  rank

 

12、zremrangebyscore  key  minScore  maxScore   //移除score在[minScore,maxScore]上的所有元素

 

13、zremrangebylex  key  value1  value2    //移除这2个元素值之间的所有元素。

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

 

 

 

 

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

 

 

sorted  set也提供了计算交集、并集的命令,此处不再一一介绍。

 

原文链接:http://www.cnblogs.com/chy18883701161/p/11079970.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号