Redis初探06——Redis的有序集合sorted set类型及操作

来源:互联网 发布:建筑设计专业软件 编辑:程序博客网 时间:2024/06/05 04:36

Sorted Sets类型及操作:
sorted set是set的一个升级版本,它在set的基础上桑增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解为有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。

1、zadd
向zset中添加value,score用于排序。如果元素存在,则更新其顺序,不更新值,并返回0。zadd zset名称 (score)排序 value。

127.0.0.1:6379> zadd myzset1 1 one(integer) 1127.0.0.1:6379> zadd myzset1 2 two(integer) 1127.0.0.1:6379> zadd myzset1 3 two(integer) 0127.0.0.1:6379> zrange myzset1 0 -1 withscores1) "one"2) "1"3) "two"4) "3"

2、zrange/zrevrange
zrange显示zset中的元素按socre从小到大排序。
zrevrange按score从大到小排序显示。
若将score顺序也显示,需要指定withscores。zrange zset名称 起始下标 结束下标 (withscores)

127.0.0.1:6379> zrange myzset1 0 -1 withscores1) "one"2) "1"3) "two"4) "3"127.0.0.1:6379> zrange myzset1 0 11) "one"2) "two127.0.0.1:6379> zrevrange myzset1 0 -1 withscores1) "three"2) "5"3) "one"4) "3"

3、zrem
删除zset中的元素。zrem zset名称 元素值

127.0.0.1:6379>  zrem myzset1 two(integer) 1127.0.0.1:6379> zrange myzset1 0 -1 withscores1) "one"2) "1"

4、zincrby
如果在zset中已经存在元素,则该元素的score增加指定的值,否则向该集合中添加元素,其scroe的值为指定的增加值。

127.0.0.1:6379> zrange myzset1 0 -1 withscores1) "one"2) "1"127.0.0.1:6379> zincrby myzset1 2 one"3"127.0.0.1:6379> zrange myzset1 0 -1 withscores1) "one"2) "3"127.0.0.1:6379> zincrby myzset1 5 three"5"127.0.0.1:6379> zrange myzset1 0 -1 withscores1) "one"2) "3"3) "three"4) "5"

5、zrank
返回zset中某元素的排名。(按score从小到大排序)即下标,索引值,不是score的值。zrank zset名称 查找元素

127.0.0.1:6379> zrange myzset1 0 -1 withscores1) "one"2) "3"3) "three"4) "5"127.0.0.1:6379> zrank myzset1 three(integer) 1127.0.0.1:6379> zrank myzset1 one(integer) 0

6、zrevrank
返回zset中某元素的排名。(按score从大到小排序)即下标,索引值,不是score的值。zrank zset名称 查找元素

127.0.0.1:6379> zrange myzset1 0 -1 withscores1) "one"2) "3"3) "three"4) "5"127.0.0.1:6379> zrevrank myzset1 one(integer) 1127.0.0.1:6379> zrevrank myzset1 two(nil)127.0.0.1:6379> zrevrank myzset1 three(integer) 0

7、zrangebyscore
按socre的值去显示zset中的元素。zrangebyscore zset sorce起始值 score结束值 (withscores)

127.0.0.1:6379> zrangebyscore myzset1 2 6 withscores1) "one"2) "3"3) "three"4) "5"

8、zcount
返回在zset中给定score区间的元素数量。

127.0.0.1:6379> zcount myzset1 2 5(integer) 2127.0.0.1:6379> zcount myzset1 2 3(integer) 1

9、zcard
返回zset集合中所有的元素个数。

127.0.0.1:6379> zcard myzset1(integer) 2

10、zremrangebyrank
删除集合中在给定区间的元素(按下标,即索引删除)。

127.0.0.1:6379> zrange myzset1 0 -1 withscores1) "one"2) "3"3) "three"4) "5"127.0.0.1:6379> zremrangebyrank myzset1 1 1(integer) 1127.0.0.1:6379> zrange myzset1 0 -1 withscores1) "one"2) "3"

11、zremrangenysocre
删除集合中在给定区间的元素(按score顺序删除)。

127.0.0.1:6379> zrange myzset1 0 -1 withscores1) "two"2) "1"3) "three"4) "2"5) "one"6) "3"127.0.0.1:6379> zremrangebyscore myzset1 1 2(integer) 2127.0.0.1:6379> zrange myzset1 0 -1 withscores1) "one"2) "3"
0 0
原创粉丝点击