千家信息网

详解Redis如何开启键空间通知实现超时通知

发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,小编这次要给大家分享的是详解Redis如何开启键空间通知实现超时通知,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。Redis部分设置修改配置文件redis.co
千家信息网最后更新 2024年11月21日详解Redis如何开启键空间通知实现超时通知

小编这次要给大家分享的是详解Redis如何开启键空间通知实现超时通知,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

Redis部分设置

修改配置文件redis.conf(Windows为redis.windows.conf)

  • 打开该配置文件(位置取决于自己的安装位置),找到Event notification部分。
  • 将notify-keyspace-events Ex的注释打开或者添加该配置,其中E代表Keyevent,此种通知会返回key的名字,x代表超时事件。
  • 如果notify-keyspace-events ""配置没有被注释的话要注释掉,否则不会生效。
  • 保存后重启redis,一定要使用当前配置文件重启,例如src/redis-server redis.conf

SpringBoot部分设置

添加redis依赖

 org.springframework.boot spring-boot-starter-data-redis

在全局配置文件application中添加redis配置

spring.redis.host = 39.105.145.179spring.redis.port=6379spring.redis.database=0spring.redis.listen-pattern = __keyevent@0__:expired

listen-pattern填写超时时间,意思为springboot将监听redis发出的超时键空间通知。

创建listener

public class TopicMessageListener implements MessageListener { @Override public void onMessage(Message message, byte[] bytes) { byte[] body = message.getBody(); byte[] channel = message.getChannel(); System.out.println(new String(body)); System.out.println(new String(channel)); }}

其中message为redis返回的通知,body为超时的key的名字,channel为超时事件

创建listener配置类

@Configurationpublic class RedisListenerConfiguration { @Bean public RedisMessageListenerContainer getListenerContainer(RedisConnectionFactory connectionFactory){ //创建连接容器 RedisMessageListenerContainer container = new RedisMessageListenerContainer(); //放入redis连接 container.setConnectionFactory(connectionFactory); //写入需要被监听的类型,即超时监听 Topic topic = new PatternTopic("__keyevent@0__:expired"); container.addMessageListener(new TopicMessageListener(), topic); return container; }}

之后当有键值过期时,redis会发送通知被上面的TopicMessageListener接收,在该类中即可调用对应的业务方法进行业务处理。

看完这篇关于详解Redis如何开启键空间通知实现超时通知的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。

配置 文件 空间 文章 注释 部分 监听 业务 事件 代表 位置 内容 名字 不错 全局 兴趣 内容丰富 取决于 容器 小伙 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 青岛莱克软件开发公司电话 存取图片的数据库 数据库系统基础第7版pdf 中诺海科技电子病例软件开发 广东常用软件开发怎么样 现代战争ps4 服务器 大厂 服务器系统 加强网络安全教育培训措施 军工网络安全股有哪些 非机动车交通违法数据库 杭州怡佳互联网科技有限公司 怎么连接服务器上的数据库 哪些数据库可以看电子书 荒野行动同时开多少个服务器 服务器不见了怎么弄 大学生毕业想从事软件开发 福州志盛舰网络技术有限公司 软件开发工程师通俗介绍 数据库表导出excel 闻喜服务器机柜价格 国际版王者服务器关闭咋回事 每个网民来做网络安全的守护者 上海珍容互联网科技有限公司 数据库中pro是什么意思 国产数据库同步技术 视频加速服务器是什么 初中生网络安全活动总结 众筹400还款软件开发 广东汕尾学生 云服务器 英雄恢复数据库
0