SpringBoot如何整合redis实现过期key监听事件
作者:yvioo 时间:2023-08-04 18:51:19
可以用于简单的过期订单取消支付、7天自动收货场景中
1、Spring Boot整合redis 参考
https://www.jb51.net/article/170687.htm
2、打开redis服务的配置文件添加notify-keyspace-events Ex 如果是注释了,就取消注释
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);
来源:https://www.cnblogs.com/pxblog/p/13559317.html
标签:SpringBoot,redis,key,监听
0
投稿
猜你喜欢
java编写ftp下载工具
2022-03-15 08:15:13
Java之Jackson的基本使用案例讲解
2022-05-27 22:08:49
C/C++ 左移<<, 右移>>的作用及说明
2021-12-30 01:42:59
Spring中@Scheduled和HttpClient的连环坑
2023-10-19 23:06:00
java8 利用reduce实现将列表中的多个元素的属性求和并返回操作
2021-09-29 06:53:38
MyBatis-Plus解决逻辑删除与唯一索引的问题
2022-09-09 00:17:03
Silverlight将图片转换为byte的实现代码
2022-03-07 11:07:15
Java 生产者/消费者问题实例详解
2023-02-26 01:23:36
Android sdutio配置Zxing进行扫码功能的实现方法
2023-12-12 15:40:13
java创建多级目录文件的实例讲解
2023-11-27 09:29:02
Java基于外观模式实现美食天下食谱功能实例详解
2022-08-22 22:59:51
Java转JSON串的几种方式
2023-08-24 07:38:47
C#多线程学习之(二)操纵一个线程的方法
2022-02-27 08:53:27
一篇文章带你搞定JAVA内存泄漏
2022-04-28 21:07:08
C++类中六个默认的成员函数详解
2022-11-25 10:46:30
Linux CentOS 7.0中java安装与配置环境变量的步骤详解
2021-11-15 12:31:34
Android ViewDragHelper使用方法详解
2022-08-27 02:01:28
VSCode中开发JavaWeb项目的详细过程(Maven+Tomcat+热部署)
2022-10-18 14:42:10
Springboot整合Shiro的代码实例
2021-09-03 04:16:52
深入浅析Mybatis的缺陷问题
2023-07-19 19:39:46