redis学习系列--6.redis-sorted sets 类型

sorted set 是set的一个升级版本,它在set的基础上增加了一个顺序属性, 这一属性在添加修改元素的时候可以指定,每次指定后. zset会自动重新按新的值调整顺序, 可以理解为有2列的MySQL表, 一列存value,一列存顺序. 操作中key理解为zet的名字.sorted set 最长使用的方式应该是作为索引来使用.  sorted set操作方法如下:

1.zadd  //向名称为key的zet中添加元素member, score用于排序. 如果该元素已经存在, 则根据score更新该元素的顺序.

zadd  zset  1 one
zadd  zset  2  two
zadd  zset  0  zero
zrange   zset  0 -1
输出:1)"zero"
输出:2)"one"
输出:3)"two"

2.zrange  //返回名称为key的zset中memeber元素的排名(按score 从小到大排序)(既下标)

zrange   zset  0 -1
输出:1)"zero"
输出:2)"one"
输出:3)"two"

3.zrem  //删除名称为key的zset中的元素member

zrem  zset  zero
输出:(integer)1  //删除成功
zrange  zset  0 -1
输出:1)"one"
输出:2)"two"

4.zincrby  //如果在名称为Key的zset中已经存在元素member,则该元素的score增加increment; 否则向该集合中添加该元素,其score的值为increment.

zadd  num   1
zincrby  num  2 2
zrange  num  0 -1
输出:1)"1"
输出:2)"2"

5.zrank  //返回名称为key的zset中member元素的排名(按score从小到大排序)

zrank  num 1
输出:(integer)0

6.zrevrank  //返回名称为key的zet中member元素的排名(按score从小到大排序)

zrevrank  num 1
输出:(integer)0

7.zrevrange  //返回名称为key的zset(按score从大到小排序)中的index从start到end的所有元素.

zrevrange  num  0  1
输出:1)"2"
输出:2)"1"

8.zrangebyscore  //返回集合中score在给定区间的元素.

zrangebyscore  num  0 2
输出:1)"1"
输出:2)"2"

9.zcount  //返回集合中score在给定区间的数量

zcount  num  0  2
输出:(integer)2

10.zcard  //返回集合中元素的个数

zcard  num
输出:(integer)2

11.zscore  //返回给定元素对应的score

zscore  num  2
输出:"2"

12.zremrangebyrank  //删除集合中排名在给定区间的元素(从0开始按下标删)

zremrangebyrank    num  0 1
输出:(integer)2
zrange  num  0 -1
输出:(empty  list   or  set)

13.zremrangebyscore  //删除集合中score在给定区间的元素(从0开始按下标删) (测试就是和zremrangebyrank用法一样,待修正)

zadd  num  0 1
zadd  num  1 2
zadd  num  2 3
zremrangebyscore   num  0  1
zrange  num  0  -1
输出:1)"3"











版权声明:本文为houfeng30920原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。