Redis中的Zset

1.前言

本篇博客将介绍Redis五大类型中的Zset类型及其一些常用命令,Redis有序集合zset与普通集合set非常相似,是一个没有重复元素的字符串集合。
不同之处是有序集合的每个成员都关联了一个评分(score),这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了 。
因为元素是有序的, 所以你也可以很快的根据评分(score)或者次序(position)来获取一个范围的元素。
访问有序集合的中间元素也是非常快的,因此你能够使用有序集合作为一个没有重复成员的智能列表。
在一些特殊的业务场景中还是非常的好用的,那么就跟随小编的脚步一起来学习一下Redis中的Zset类型。

2.常用命令

1.zadd {key} {score1} {value1} {score2} {value2} …

使用 zadd  <key> <score1> <value1> <score2> <value2> … 命令
向一个指定的集合 <key> 中 添加多个评分 <score> 及其对应的值 <value>
如果集合不存在则会创建一个相应的集合并将这些评分及对应的值存入其中
存入集合后这些 "评分键值对" 会按照评分从低到高排列

2. zrange {key} {start} {stop} [WITHSCORES]

使用 zrange <key><start><stop>  [WITHSCORES] 命令
返回对应集合中 start 到 stop 下标的值 下标从 0 开始 最后一个元素的下标是 -1
如果执行 zrange topn 0 -1 则是取出对应集合中的所有值 由小到大排列 显示的只是值
如果想连评分一起显示的话则在命令后面加上 winthscores
如果执行 zrange topn 0 -1 winthscores 不但会得到集合中所有的值还有评分 值在前 评分在后

3. zrangebyscore {key} {min} {max} [withscores] [limit offset count]

使用 zrangebyscore key minmax [withscores] [limit offset count] 命令
返回对应集合中 获取 min 到 max 之间评分的值包括等于min和等与max的值
获取出来的值从小到大排列 如果想看到评分则在命令后面 跟上 withscores 参数

4. zrevrangebyscore {key} {max} {min} [withscores] [limit offset count]

使用 zrevrangebyscore key maxmin [withscores] [limit offset count]  命令
返回对应集合中 获取 max 到 min 之间评分的值包括等于min和等与max的值
获取出来的值从大到小排列 如果想看到评分则在命令后面 跟上 withscores 参数

5. zincrby {key} {increment} {value}

使用 zincrby <key> <increment> <value> 命令
使对应集合 key中 某个值 <value> 对应的评分增加 <increment>
返回增加后的评分

6. zrem {key} {value}

使用 zrem  <key> <value> 命令 
删除对应集合 key中 的值 value 删除后其对应的评分也会消失
删除成功返回 1 删除失败返回 0

7. zcount {key} {min} {max}

使用 zcount <key> <min> <max> 命令
返回 对应集合 key 中评分 min 到 max 之间的成员数量 包括 min 和 max的值

8. zrank {key} {value}

使用 zrank <key> <value> 命令
返回对应集合 key 中 value 值对应的排名 
集合中默认从小到大排列 排名从0开始

3.结尾

这篇博客就演示到这里吧,关于Zset的底层数据结构,感觉在这里一起写的话内容有点多,后续小编将在专栏中更新,后续专栏也将推出更多优质相关内容,感兴趣的小伙伴不妨点个订阅。
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值