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

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) 1
127.0.0.1:6379> zadd myzset1 2 two
(integer) 1
127.0.0.1:6379> zadd myzset1 3 two
(integer) 0
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "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 withscores
1) "one"
2) "1"
3) "two"
4) "3"
127.0.0.1:6379> zrange myzset1 0 1
1) "one"
2) "two
127.0.0.1:6379> zrevrange myzset1 0 -1 withscores
1) "three"
2) "5"
3) "one"
4) "3"

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

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

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

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

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

127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"
3) "three"
4) "5"
127.0.0.1:6379> zrank myzset1 three
(integer) 1
127.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 withscores
1) "one"
2) "3"
3) "three"
4) "5"
127.0.0.1:6379> zrevrank myzset1 one
(integer) 1
127.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 withscores
1) "one"
2) "3"
3) "three"
4) "5"

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

127.0.0.1:6379> zcount myzset1 2 5
(integer) 2
127.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 withscores
1) "one"
2) "3"
3) "three"
4) "5"
127.0.0.1:6379> zremrangebyrank myzset1 1 1
(integer) 1
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"

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

127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "two"
2) "1"
3) "three"
4) "2"
5) "one"
6) "3"
127.0.0.1:6379> zremrangebyscore myzset1 1 2
(integer) 2
127.0.0.1:6379> zrange myzset1 0 -1 withscores
1) "one"
2) "3"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值