Redis实现订单自动过期功能的示例代码
程序员文章站
2022-04-05 11:40:53
前言用户下单后,规定xx分钟后自动设置为“已过期”,不能再发起支付。项目类似此类"过期"的需求,笔者提供一种使用redis的解决思路,结合redis的订阅、发布和键空间通知机制(keyspace no...
前言
用户下单后,规定xx分钟后自动设置为“已过期”,不能再发起支付。项目类似此类"过期"的需求,笔者提供一种使用redis的解决思路,结合redis的订阅、发布和键空间通知机制(keyspace notifications)进行实现。
配置redis.confg
notify-keyspace-events选项默认是不启用,改为notify-keyspace-events “ex”。重启生效,索引位i的库,每当有过期的元素被删除时,向**频道发送通知。
e表示键事件通知,所有通知以为前缀;
x表示过期事件,每当有过期被删除时发送。
与springboot进行集成
①注册jedisconnectionfactory
②注册监听器
③配置订阅对象
paymentdatabase 库元素过期后就会跳入paymentlistener 的onmessage(message message, byte[] pattern)方法。
到此这篇关于redis实现订单自动过期功能的示例代码的文章就介绍到这了,更多相关redis 订单自动过期内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!