springboot+redis过期事件监听
时间:2020-03-24
本文章向大家介绍springboot+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);
控制台输出:
原文地址:https://www.cnblogs.com/red-star/p/12557965.html
- Golang语言版的ip2long函数实例
- Oracle闪回原理-Logminer解读redo(r11笔记第17天)
- beego如何做到XSRF防护
- Golang语言-- gbk转utf8
- Golang 语言--linux 下 go语言 vim设置
- 南阳OJ----Binary String Matching
- Golang RSA加密解密程序
- HDUOJ--汉诺塔II
- Golang语言-操作json,注意json的嵌套、数组
- Java随机数算法(一)(r11笔记第14天)
- 【翻译】Golang语言-是面向对象语言吗?
- 一些Golang小技巧
- 数据载入过慢?这里有一份TensorFlow加速指南
- 转--如何压缩Golang 编译出的可执行文件大小
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法