Redis数据类型Sorted set

卑微小吴励志写博客第22天。

这里补充一种set类型数据的应用场景

set类型的业务场景

黑白名单

在这里插入图片描述

tips

redis可以应用于基于黑名单和白名单设定的服务控制。

sorted_set数据类型

新的需求:
数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式。
既能存储大量数据,又可以进行排序。

sorted_set存储形式

在这里插入图片描述
在set数据类型的基础上,加上score值,可以让数据通过score来排序。

sorted_set基本操作

添加数据

  • zadd key member1 score1 [member2 score2]

获取全部数据

  • zrange key start stop [withscores]
  • zrevrange key start stop [withscores] 倒序排序

删除数据

  • zrem key member [member … ]

按条件获取数据

  • zrangebyscore key min max [withscore] [limit]
  • zrevrangebyscore key min max [withscore]

条件删除数据

  • zremrangebyrank key start stop 这一个删除有索引的概念
  • zremrangbyscore key min max

注意:

  • min和max限定了查询的条件。
  • start和stop用于限定查询的范围,作用于索引,表示开始索引和结束索引
  • offset和count用于限定查询范围,用于与于查询结果,表示开始位置和数据总量。

获取集合数据总量

  • zcard key
  • zcount key min max

集合交、并操作

  • zinterstore destination numkeys key [key …]
  • zunionstore destination numkeys key [key…]
sorted_set的扩展操作
业务场景

在这里插入图片描述

业务分析
  • 这类榜单类的数据, 一般要包括排序。
  • 有些还要有第几名的分析。
解决方案

获取数据对应的索引(排名)

  • zrank key member
  • zrevrank key member

score值获取与修改

  • zscore key member
  • zincrby key increment member
tips

redis可以用于计数器组合排序功能对应的排名

sorted_set数据类型的注意事项
  • score数据的数据存储空间是64位,是有范围的,一般不会超。
  • score保存的数据也可以是小数,是一个双精度浮现小数,可能会丢失精度,一般不使用。
  • sorted_set的底层数据结构还是基于set的,因此数据不能重复,如果重复添加一个数据,score值会覆盖,取最后一次score值。
业务场景

在这里插入图片描述

解决方案

在这里插入图片描述
redis是可以拿到当前时间的

  • time
tips

redis可以用于定时任务顺序管理或任务过期管理。

业务场景

任务/消息权重设定应用
对于任务或者消息在队列中时,对于优先级较高的先处理,如何实现任务权重管理。

解决方案

利用score来记录权重即可解决。
在这里插入图片描述

tips

redis可用于及时任务/消息队列执行管理。

今天的分享就到这里了,小伙伴们加油!

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值