【微服务】SpringBoot 整合Redis实现延时任务处理使用详解

embedded/2024/12/23 22:46:49/

目录

一、前言

二、延迟任务的高频使用场景

三、延迟任务常用解决方案

3.1 Quartz

3.2 DelayQueue

3.2.1 Timer + TimerTask

3.2.2 ScheduledExecutorService

3.3 Redis sorted set

3.4 RabbitMQ

四、Redis实现延时队列操作实战

4.1 Redis Sorted Set 概述

4.1.1 Redis Sorted Set 介绍

4.1.2 Redis Sorted Set 主要特点

4.1.3 Redis Sorted Set 应用场景

4.1.4 核心实现思路

4.2 Jedis 实现延迟队列

4.2.1 前置准备

4.2.2 代码操作演示

4.3 SpringBoot 整合Redis实现延迟队列

4.3.1 添加依赖

4.3.2 添加配置文件

4.3.3 自定义redis序列化类

4.3.4 定义抽象任务

4.3.5 定义任务通知类

4.3.6 定义任务管理器

4.3.7 添加测试接口

4.3.8 效果测试

4.4 使用Redisson 实现延时任务队列

4.4.1 导入依赖

4.4.2 添加配置类

4.4.3 添加自定义消息监听类

4.4.4 自定义任务阻塞队列

4.4.5 添加测试接口

五、写在文末


一、前言

在分布式微服务开发中,延迟(延时)任务的场景或需求可以说很多,比如大家熟悉的下单之后允许延后15分钟完成支付,或者某些因为业务的原因需要延迟执行的场景等,同时延迟任务的存在,也让系统或业务有了更多的可扩展空间,本文将通过案例操作演示下如何基于Redis实现延时任务的解决方案。

二、延迟任务的高频使用场景

下面是几种在日常开发中高频接触到的延迟任务场景:

  • 订单超时自动处理

    • 在电商领域,延迟队列对于处理订单超时问题至关重要。一旦用户下单,订单信息便进入延迟队列,并预设超时时长。若用户在此时间内未完成支付,订单信息将由消费者从队列中提取,并执行如取消订单、库存释放等后续操作,高效且自动化。


http://www.ppmy.cn/embedded/148184.html

相关文章

vue2实现word在线预览

实现附件在线预览是一个很常用的功能,这次正好碰到这样的需求,记录一下自己实现的过程。 首先是插件的选择,网上实现预览的方法主要有两种,一个是vue-office插件,另一个是docx-preivew插件。看网上其他网友的教程都能…

Spring(二)AOP、切入点表达式、AspecJ常用通知的类型、Spring中的事务管理

文章目录 一、AOP 1、定义 2、特点 3、AOP中的术语(连接点、切入点、通知、目标、代理) 4、配置 (1)下载AOP相关jar (2)启动AspectJ支持 5、使用 6、切入点表达式 7、AspecJ常用通知的类型 &…

DDR DRAM/UDIMM Clock DCD jitter分析

随着DDR系统运行速度的提高,不仅对DQ和DQS,而且对时钟和地址/控制信号的时序要求也变得非常具有挑战性。FPGA系统环境下,FPGA应根据客户需求支持不同的通道拓扑。如下图显示了一个DDR4分立SDRAM的示例配置,广泛用于减少系统的厚度…

Python连接MySQL数据库教程

目录 一、连接方法 二、pymysql模块用法 三、借助python运行sql语句 1、创建数据库连接对象 2、创建数据库操作对象 3、编写sql语句、执行sql语句 4、释放【关闭】与数据库的连接资源对象 总结 一、连接方法 要用Python连接数据库需要结束Python的外部库--pymysql&…

青少年编程与数学 02-004 Go语言Web编程 12课题、本地数据存储

青少年编程与数学 02-004 Go语言Web编程 12课题、本地数据存储 一、本地数据存储1. Cookies2. LocalStorage3. SessionStorage4. IndexedDB5. Web SQL实现客户端本地数据存储的示例注意事项 二、应用场景1. 用户偏好设置2. 表单数据保存3. 离线访问4. 购物车功能5. 游戏状态保存…

211-基于FMC的1路1.5G ADC 1路 2.5G DAC子卡

一、板卡概述 FMC-1AD-1DA-1SYNC是我司自主研发的一款1路1G AD采集、1路2.5G DA回放的FMC、1路AD同步信号子卡。板卡采用标准FMC子卡架构,可方便地与其他FMC板卡实现高速互联,可广泛用于高频模拟信号采集等领域。 二、功能介绍 2.1 原理框图 2.2 硬件…

联合物种分布模型(JSDM)与Hmsc包:群落生态学数据分析与预测技术

联合物种分布模型(Joint Species Distribution Modelling,JSDM)在生态学领域,特别是群落生态学中发展最为迅速,它在分析和解读群落生态数据的革命性和独特视角使其受到广大国内外学者的关注。在学界不同研究团队研发出…

Unity 上好用的插件

PlayerMaker BehaviorDesigner Cinemachine Timeline Hybrid Addressable AssetBundle Blower Simple Zoom 大地图上缩放和平移使用ScrollRect的好效果实现