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);

最新文章

  1. 玩儿转物联网IoT - 在Beagle Bone Black上运行node.js 程序
  2. 装X代码
  3. Diamond使用向导
  4. 通过ABAP的标准功能,寻找源代码中的字符串
  5. 金旭亮老师的Scoekt编程摘要
  6. 纯CSS实现帅气的SVG路径描边动画效果(转载)
  7. Scala 深入浅出实战经典 第41讲:List继承体系实现内幕和方法操作源码揭秘
  8. 【转】Unity3D中Layers和LayerMask解析
  9. do/while(0) c4127
  10. Mysql 锁基础
  11. SQL使用总结-like,MAX,MIN
  12. Bitmap对图像的处理
  13. apache-jmeter-5.0的简单压力测试使用方法
  14. Python——使用高德API获取指定城指定类别POI并实现XLSX文件合并
  15. angular的json
  16. Mybatis之执行insert、update和delete操作时自动提交
  17. linux二进制安装MariaDB
  18. 在Github和Git上fork之简单指南
  19. URL编码分析与乱码解决方案
  20. 【docker】docker基础原理,核心技术简介

热门文章

  1. Codeforces 633F - The Chocolate Spree(树形 dp)
  2. Codeforces 516D - Drazil and Morning Exercise(树的直径+并查集)
  3. #10471. 「2020-10-02 提高模拟赛」灌溉 (water)
  4. Mysql 预处理 PREPARE以及预处理的好处
  5. EPOLL原理详解(图文并茂)
  6. C语言之内核中的struct list_head 结构体
  7. accommodate, accompany
  8. spring boot 之监听器ApplicationListener
  9. 【swift】CoreData Crash(崩溃)(Failed to call designated initializer on NSManagedObject class)
  10. vim中搜索指定单词(不加前后缀)