一、场景描述
在实际开发过程中经常会遇到一些有时效性数据的业务场景,比如订单支付处理超时提醒。当用户在商城上进行下单支付,我们假设如果8小时没有进行支付,那么就后台自动对该笔交易的状态修改为订单关闭取消,同时给用户发送一份邮件提醒。那么我们应用程序如何实现这样的需求场景呢?可能大家都会想到的是最简单粗暴的办法:通过定时任务轮询方式单独创建新启一个线程去检测当前任务,这种实现方式实时刷新效率较低同时也这样对服务器压力比较大。我们是否有更好的方式去实现呢?这里说的是用Redis去实现这样的一个功能。
1.1、本次分享课程适合人群如下:
1、有一定的NET开发基础并对Redis技术有一定了解和认识。
2、喜欢阿笨的干货分享课程的童鞋们。
1.2、一句话总结今天我们要学习的目标和成果?
C#如何通过Redis 的key过期事件通知机制来实现订单过期自动取消和提醒。
如果您对本次分享课程感兴趣的话,那么请跟踪阿笨一起学习吧。废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。
二、思路讲解
2.1、解决方案
2.2、具体实现步骤
三、实现步骤
![](https://i-blog.csdnimg.cn/blog_migrate/7b41460a70a0ad00e14720a8d6ba7425.webp?x-image-process=image/format,png)
四、思考与总结
4.1、总结
4.2、思考
其实还有另外一种比较好的解决方案就是通过RabbitMQ的DLX(Dead-Letter-Exchange)来实现,如果到时候大家感兴趣的话,也可以关注一下阿笨的最新分享课程《C#RabbitMQ延迟队列功能实战项目演练》。
俗话说的好:师父领进门修行在个人,希望大家在学习的道路上一直坚持下去!