ad
close

延迟队列精准发布文章-redis实现延迟任务

如何正确使用RabbitMQ实现延迟消息队列,使用Redis的订阅发布模式

30人学习

初级18课时2023/05/08更新

二维码下载学堂APP缓存视频离线看

涛哥
  • 畅销套餐
  • 精选套餐
  • 人气套餐
  • 尊享套餐
  • 高薪套餐
电商微服务项目实战
SpringCloud常用组件详解
448人学习
¥19.90
2小时学习SpringBoot整合Vue+vuetify
368人学习
¥19.90
ElasticSearch站内搜索详细讲解
2498人学习
¥19.90
更 多 14 门 课 程
微服务快速入门实战之路
2小时快速上手Docker容器
2068人学习
¥19.90
2小时学习SpringBoot微服务架构思想
992人学习
¥19.90
10分钟学习SpringBoot整合Redis缓存-5分钟学习微服务代码生成器
268人学习
¥19.90
更 多 11 门 课 程
SpringBoot与MyBatisPlus深度实战课程
2小时学习SpringBoot微服务架构思想
992人学习
¥19.90
软件开发流程介绍_SpringBoot整合MybatisPlus
348人学习
¥19.90
2小时学习SpringBoot+MyBatisPlus实现分页和过滤器
226人学习
¥19.90
更 多 12 门 课 程
Java Web全栈工程师之路【买视频送书】
XML需知需会:Java、C#、Python多种语言解析XML文档
68018人学习
¥49.00
jQuery必知必会:老程序员手把手带您完成一个【MyNotes】Web前端项目
45169人学习
¥49.00
师傅带徒弟学Java Web:老程序员带您完成一个【网上商城】Web项目
133267人学习
¥268.00
更 多 9 门 课 程
Java Web全栈工程师之路【买视频送书】
XML需知需会:Java、C#、Python多种语言解析XML文档
68018人学习
¥49.00
jQuery必知必会:老程序员手把手带您完成一个【MyNotes】Web前端项目
45169人学习
¥49.00
师傅带徒弟学Java Web:老程序员带您完成一个【网上商城】Web项目
133267人学习
¥268.00
更 多 9 门 课 程
  • 课程介绍
  • 课程大纲

适合人群:

有此功能需求的同学, 可以把代码搬过去直接改成自己的需求使用即可

你将会学到:

如何正确使用RabbitMQ实现延迟消息队列,使用Redis的订阅发布模式

课程简介:

1)文章定时发布

2)延迟任务概述

2.1)什么是延迟任务

  • 定时任务:有固定周期的,有明确的触发时间

  • 延迟队列:没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件,任务可以立即执行,也可以延迟

应用场景:

场景一:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单;如果期间下单成功,任务取消

场景二:接口对接出现网络问题,1分钟后重试,如果失败,2分钟重试,直到出现阈值终止

2.2)技术对比

2.2.1)DelayQueue

JDK自带DelayQueue 是一个支持延时获取元素的阻塞队列, 内部采用优先队列 PriorityQueue 存储元素,同时元素必须实现 Delayed 接口;在创建元素时可以指定多久才可以从队列中获取当前元素,只有在延迟期满时才能从队列中提取元素

DelayQueue属于排序队列,它的特殊之处在于队列的元素必须实现Delayed接口,该接口需要实现compareTo和getDelay方法

getDelay方法:获取元素在队列中的剩余时间,只有当剩余时间为0时元素才可以出队列。

compareTo方法:用于排序,确定元素出队列的顺序。


展开更多

课程大纲-延迟队列精准发布文章-redis实现延迟任务

close
  • 课程介绍
  • 课程大纲
在线
客服
APP
下载

下载Android客户端

下载iphone 客户端

官方
微信

关注官方微信

返回
顶部