Redis 相关设计场景有哪些

缓存预热

对于有未来有预知的大量请求进行准备,准备好相关的缓存数据,防止数据库崩溃。

秒杀场景

秒杀时间到前对库存数据进行预热。

冷数据场景

存在大量死用户也就是冷数据,需要在某个时刻点进行消息推送,召回他们回来使用app或参加活动。

死用户平常在系统中因为无活跃数据,因此也没有相应的缓存数据。而作为通知系统,需要在某一个时刻点大量访问本系统,访问本系统的冷用户数据通知短信。

zset应用场景

延迟队列

zset 可以把score 当成延迟数据通知的时间戳。 使用 zrangebyscore key 0 1606996111  过滤出到期元素。

简单的使用的话,可以使用一个死循环线程通过zrangebyscore去遍历 过期元素,并异步分发到消费线程。

但是实际在系统使用中,常使用Redission 的延迟队列。Redission的延迟队列,使用zset、list及发布订阅模型,通过lua脚本使用发布订阅模式延迟发布元素过期消息,将zset的数据转移到list中。

获取list的数据可以使用Redission的 getBlockingQueue(), 通过blpop 命令阻塞弹出延迟元素进行对应的消费任务。

排行榜

经常浏览技术社区的话,应该对 “1小时最热门” 这类榜单不陌生。

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西蓝花MQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值