SpringBoot整合redis实现过期key监听事件
2024-08-23 23:54:36
Spring整合redis实现key过期事件监听:https://www.cnblogs.com/pxblog/p/13969375.html
可以用于简单的过期订单取消支付、7天自动收货场景中
1、Spring Boot整合redis 参考
https://www.cnblogs.com/pxblog/p/12980634.html
2、打开redis服务的配置文件 添加notify-keyspace-events Ex 如果是注释了,就取消注释
然后重启redis
Linux安装redis:https://www.cnblogs.com/pxblog/p/12225758.html
Windows安装redis:https://www.cnblogs.com/pxblog/p/13370729.html
3、在redis配置类 @Configuration 添加如下内容
@Bean
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
return container;
}
4、新建过期Key监听
RedisKeyExpirationListener.java
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.stereotype.Component; @Component
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener { public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) {
super(listenerContainer);
} /**
* 针对 redis 数据失效事件,进行数据处理
*
* @param message
* @param pattern
*/
@Override
public void onMessage(Message message, byte[] pattern) {
System.out.println("过期"+message.toString());
}
}
使用方式
//把key放进redis中,并设置过期时间为三秒,也可以按照自己的写法
redisService.set(key,key, 3);
最新文章
- 玩儿转物联网IoT - 在Beagle Bone Black上运行node.js 程序
- 装X代码
- Diamond使用向导
- 通过ABAP的标准功能,寻找源代码中的字符串
- 金旭亮老师的Scoekt编程摘要
- 纯CSS实现帅气的SVG路径描边动画效果(转载)
- Scala 深入浅出实战经典 第41讲:List继承体系实现内幕和方法操作源码揭秘
- 【转】Unity3D中Layers和LayerMask解析
- do/while(0) c4127
- Mysql 锁基础
- SQL使用总结-like,MAX,MIN
- Bitmap对图像的处理
- apache-jmeter-5.0的简单压力测试使用方法
- Python——使用高德API获取指定城指定类别POI并实现XLSX文件合并
- angular的json
- Mybatis之执行insert、update和delete操作时自动提交
- linux二进制安装MariaDB
- 在Github和Git上fork之简单指南
- URL编码分析与乱码解决方案
- 【docker】docker基础原理,核心技术简介
热门文章
- Codeforces 633F - The Chocolate Spree(树形 dp)
- Codeforces 516D - Drazil and Morning Exercise(树的直径+并查集)
- #10471. 「2020-10-02 提高模拟赛」灌溉 (water)
- Mysql 预处理 PREPARE以及预处理的好处
- EPOLL原理详解(图文并茂)
- C语言之内核中的struct list_head 结构体
- accommodate, accompany
- spring boot 之监听器ApplicationListener
- 【swift】CoreData Crash(崩溃)(Failed to call designated initializer on NSManagedObject class)
- vim中搜索指定单词(不加前后缀)