sorted sets类型及操作
sorted set是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一属性再添加修改元素的的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解为两列mysql表,一列存value,一列存顺序。操作中key理解为zset的名字
一 zadd 向名称为key的zset中添加元素member,score用于排序。如果该元素存在,则更新其顺序
127.0.0.1:6379> zadd myzset 1 one
(integer) 1
127.0.0.1:6379> zadd myzset 2 two
(integer) 1
127.0.0.1:6379> zadd myzset 3 three
(integer) 1
127.0.0.1:6379> zrange myzset 0 -1
1) "one"
2) "two"
3) "three"
127.0.0.1:6379> zrange myzset 0 -1 withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
二、zrem 删除名称为key的zset中的元素member
127.0.0.1:6379> zrem myzset two
(integer) 1
127.0.0.1:6379> zrange myzset 0 -1 withscores
1) "one"
2) "1"
3) "three"
4) "3"
三、zincrby 如果在名称为key的zset中已经存在元素member,则该元素的score增加incerment否则向该集合中添加该元素,其score的值为increment
127.0.0.1:6379> zincrby myzset 2 one
"3"
127.0.0.1:6379> zrange myzset 0 -1 withscores
1) "one"
2) "3"
3) "three"
4) "3"
四、zrank 返回名称为key的zset中member元素的排名(按score从小到大排序)即下标
127.0.0.1:6379> zrank myzset one
(integer) 0
127.0.0.1:6379> zrank myzset three
(integer) 1
五、zrevrank 返回名称为key的zset中member元素的排名(按score从大到小排序)即下标
127.0.0.1:6379> zrevrank myzset three
(integer)0
127.0.0.1:6379> zrevrank myzset one
(integer) 1
六、zrevrange 返回名称为key的zset(按score从大到小顺序)中的index从start到end的所有元素
127.0.0.1:6379> zrevrange myzset 0 -1 withscores
1) "three"
2) "3"
3) "one"
4) "1"
七、zrangebyscore 返回集合score在给定区间的元素
127.0.0.1:6379> zrangebyscore myzset 2 3
1) "three"
八、zcount 返回几个score在给定区间的元素个数
127.0.0.1:6379> zcount myzset 0 5
(integer) 3
127.0.0.1:6379> zrange myzset 0 -1 withscores
1) "one"
2) "1"
3) "three"
4) "3"
5) "four"
6) "4"
九、zcard 返回集合的所有元素
127.0.0.1:6379> zcard myzset
(integer) 3
十、zremrangebyrank 删除集合中按照排序所指定的区间元素
127.0.0.1:6379> zremrangebyrank myzset 2 3
(integer) 1
127.0.0.1:6379> zrange myzset 0 -1
1) "one"
2) "three"
十一、zremrangebyscore 删除集合中score在制定区间的元素
127.0.0.1:6379> zremrangebyscore myzset 1 3
(integer) 2
127.0.0.1:6379> zrange myzset 0 -1 withscores
(empty list or set)