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 //返回给定元素对应的scorezscore 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"