1 修改 redis.conf配置文件:

K Keyspace events, published with keyspace@ prefix事件

E Keyevent events, published with keyevent@ prefix

g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, …

$ String commands

l List commands

s Set commands

h Hash commands

z Sorted set commands

x Expired events (events generated every time a key expires)

e Evicted events (events generated when a key is evicted for maxmemory)

A Alias for g$lshzxe, so that the “AKE” string means all the events.

redis.conf 的默认的配置是:notify-keyspace-events ""

我们需要改为:notify-keyspace-events Ex

即对应上面的键的过期事件。修改玩这个重启一下redis

2 客户端来监听redis的过期事件:

@Configuration

public class RedisListenerConfig {

@Bean

RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {

RedisMessageListenerContainer container = new RedisMessageListenerContainer();

container.setConnectionFactory(connectionFactory);

return container;

}

}

3.书写一个监听器

@Slf4j

@Component

public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {

public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) {

super(listenerContainer);

}

@Override

public void onMessage(Message message, byte[] pattern) {

String expiredKey = message.toString();

log.info("expiredKey========="+expiredKey);

}

4.查询方法中随便加了两个表中的不同id,一个30s,一个27s。

redisUtil.set("UserId"+user.get(0).getId(),user.get(0).getId(),30);

redisUtil.set("UserInfoId"+userInfo.get(0).getId(),userInfo.get(0).getId(),27);

控制台输出:

需要注意的是:

过期监听消息中返回的是,过期的键的key值,是没有返回value的

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java redis监听问题_springboot+redis过期事件监听实现过程解析相关推荐

  1. java 监听鼠标点击_java 事件监听 - 鼠标

    java 事件监听 - 鼠标 //事件监听 //鼠标事件监听 //鼠标事件监听有两个实现接口 //1.MouseListener 普通的鼠标操作 //2.MouseMotionListener 鼠标的 ...

  2. Redis key过期事件监听实现 - 30分钟自动取消未支付订单

    目录 一.前言 二.实现方案分析 三.Redis key过期事件方案实现步骤 3.1 Redis 安装步骤详见 3.2 修改 Redis 配置 3.3 在获取支付链接视图中设置key过期事件 3.4 ...

  3. java抽象机制_Java很好学:接口+抽象类+事件监听机制

    接口?抽象类? 首先知道知道下接口.抽象类的概念 接口:只含有常量和抽象方法(只有方法名和参数不含方法体的方法) 抽象类:可以定义常量和抽象方法(和接口一样),还可以定义变量和普通方法和构造方法(和一 ...

  4. java 事件监听应用_Spring Boot应用事件监听示例详解

    前言 本文主要给大家介绍了关于Spring Boot应用事件监听的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 1. Spring Boot特有的应用事件 除了Spring ...

  5. js: 添加事件监听addEventListener、移除事件监听removeEventListener

    文档 https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener https://developer.m ...

  6. jQuery绑定事件监听bind和移除事件监听unbind用法实例详解

    这里分别采用后bind(eventType,[data],Listener)//data为可选参数,one()该方法绑定的事件触发一次后自动删除,unbind(eventType,Listener), ...

  7. redis set时间单位_SpringBoot+Redis分布式锁:模拟抢单

    作者:神牛003 来源:https://www.cnblogs.com/wangrudong003/p/10627539.html 本篇内容主要讲解的是redis分布式锁,这个在各大厂面试几乎都是必备 ...

  8. redis 判断存在性_springboot + redis + 注解 + 拦截器 实现接口幂等性校验

    提醒:后面有些图片模糊,请点击原文查看清晰图片 一.概念 幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次 比如: 订单接口, 不能多次创建订单 支付接口, 重复支付同 ...

  9. android 监听拍照,Android 拍照 截图 事件监听实现

    需求是获得用户截图,或者拍照的主动存图行为. 但是 android 官方没有提供回调广播之类的实现监听,所以需要用另一种方式达到需求,这里实现的就是通过监听media文件夹实现目的. 所需权限: an ...

最新文章

  1. 【项目实践】车距+车辆+车道线+行人检测项目实践
  2. python代码案例详解-第7.20节 案例详解:Python抽象类之真实子类
  3. java clone方法_干货满满:Java中创建对象的五种方式详解
  4. 万亿市场下,电商代运营还需另求“第二曲线”
  5. 理解javascript闭包
  6. wpf控件设计时支持(3)
  7. 手机使用python操作图片文件
  8. shell脚本if条件总结
  9. JS 中 Map 与 JSON 转换
  10. 名校教授:把研究生扔到河里,游过去的就成为博士
  11. linux关闭cups命令,使用linux的cupsenable命令启动指定的打印机
  12. hadoop家族简介
  13. 自定义训练中保存检查点
  14. HDF5: Python 的h5py与Julia的HDF5库读取效率比较,不差上下
  15. Linux 运维之道笔记-第一章
  16. 敲电子木鱼微信小程序源码下载+搭建教程
  17. pm2同时启动多个前端项目
  18. 图像分割论文 “RANet : Region Attention Network for Semantic Segmentation”
  19. Deep Learning 最优化方法之Momentum(动量)
  20. C语言自学记录-Class6-函数

热门文章

  1. 【转】灵活运用 SQL SERVER FOR XML PATH
  2. sql server中case的简单示例
  3. 模块打包之CommonJS与ES6模块比较初探
  4. 编程笔记:python中下划线的意义
  5. 调试错误:ValueError: Protocol message Feature has no quot;featurequot; field.
  6. 2019春第十二周作业Compile Summarize
  7. Windows下编译sqlite3
  8. 列表查询数据交互简写形式
  9. Objective-C内存管理教程和原理剖析(三)
  10. 怎样查看本机到一个网站经过多少路由节点?