SpringBoot如何整合redis实现过期key监听事件
可以用于简单的过期订单取消支付、7天自动收货场景中
1、Spring Boot整合redis 参考
https://www.jb51.net/article/170687.htm
2、打开redis服务的配置文件添加notify-keyspace-events Ex 如果是注释了,就取消注释

Linux安装redis:https://www.jb51.net/article/193265.htm
Windows安装redis:https://www.jb51.net/article/176040.htm
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;@Componentpublic 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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章:
1. php中rsort函数实例用法2. php strncmp函数原型源码分析3. vuejs element table 表格添加行,修改,单独删除行,批量删除行操作4. Python opencv操作深入详解5. SpringBoot集成validation校验参数遇到的坑6. HTML DOM setInterval和clearInterval方法案例详解7. PHP输入流php://input的使用分析8. PHP基础之流程控制3——while/do-while9. IIS Express 取代 ASP.NET Development Server的配置方法10. asp+JMAIL实现发送邮件

网公网安备