java redis监听问题_springboot+redis过期事件监听实现过程解析
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过期事件监听实现过程解析相关推荐
- java 监听鼠标点击_java 事件监听 - 鼠标
java 事件监听 - 鼠标 //事件监听 //鼠标事件监听 //鼠标事件监听有两个实现接口 //1.MouseListener 普通的鼠标操作 //2.MouseMotionListener 鼠标的 ...
- Redis key过期事件监听实现 - 30分钟自动取消未支付订单
目录 一.前言 二.实现方案分析 三.Redis key过期事件方案实现步骤 3.1 Redis 安装步骤详见 3.2 修改 Redis 配置 3.3 在获取支付链接视图中设置key过期事件 3.4 ...
- java抽象机制_Java很好学:接口+抽象类+事件监听机制
接口?抽象类? 首先知道知道下接口.抽象类的概念 接口:只含有常量和抽象方法(只有方法名和参数不含方法体的方法) 抽象类:可以定义常量和抽象方法(和接口一样),还可以定义变量和普通方法和构造方法(和一 ...
- java 事件监听应用_Spring Boot应用事件监听示例详解
前言 本文主要给大家介绍了关于Spring Boot应用事件监听的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 1. Spring Boot特有的应用事件 除了Spring ...
- js: 添加事件监听addEventListener、移除事件监听removeEventListener
文档 https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener https://developer.m ...
- jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
这里分别采用后bind(eventType,[data],Listener)//data为可选参数,one()该方法绑定的事件触发一次后自动删除,unbind(eventType,Listener), ...
- redis set时间单位_SpringBoot+Redis分布式锁:模拟抢单
作者:神牛003 来源:https://www.cnblogs.com/wangrudong003/p/10627539.html 本篇内容主要讲解的是redis分布式锁,这个在各大厂面试几乎都是必备 ...
- redis 判断存在性_springboot + redis + 注解 + 拦截器 实现接口幂等性校验
提醒:后面有些图片模糊,请点击原文查看清晰图片 一.概念 幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次 比如: 订单接口, 不能多次创建订单 支付接口, 重复支付同 ...
- android 监听拍照,Android 拍照 截图 事件监听实现
需求是获得用户截图,或者拍照的主动存图行为. 但是 android 官方没有提供回调广播之类的实现监听,所以需要用另一种方式达到需求,这里实现的就是通过监听media文件夹实现目的. 所需权限: an ...
最新文章
- 【项目实践】车距+车辆+车道线+行人检测项目实践
- python代码案例详解-第7.20节 案例详解:Python抽象类之真实子类
- java clone方法_干货满满:Java中创建对象的五种方式详解
- 万亿市场下,电商代运营还需另求“第二曲线”
- 理解javascript闭包
- wpf控件设计时支持(3)
- 手机使用python操作图片文件
- shell脚本if条件总结
- JS 中 Map 与 JSON 转换
- 名校教授:把研究生扔到河里,游过去的就成为博士
- linux关闭cups命令,使用linux的cupsenable命令启动指定的打印机
- hadoop家族简介
- 自定义训练中保存检查点
- HDF5: Python 的h5py与Julia的HDF5库读取效率比较,不差上下
- Linux 运维之道笔记-第一章
- 敲电子木鱼微信小程序源码下载+搭建教程
- pm2同时启动多个前端项目
- 图像分割论文 “RANet : Region Attention Network for Semantic Segmentation”
- Deep Learning 最优化方法之Momentum(动量)
- C语言自学记录-Class6-函数
热门文章
- 【转】灵活运用 SQL SERVER FOR XML PATH
- sql server中case的简单示例
- 模块打包之CommonJS与ES6模块比较初探
- 编程笔记:python中下划线的意义
- 调试错误:ValueError: Protocol message Feature has no quot;featurequot; field.
- 2019春第十二周作业Compile Summarize
- Windows下编译sqlite3
- 列表查询数据交互简写形式
- Objective-C内存管理教程和原理剖析(三)
- 怎样查看本机到一个网站经过多少路由节点?