当前位置: 首页 > news >正文

Redis监听回调

当redis中key失效时进行回调操作

KeyExpirationEventMessageListener

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;

import java.util.Date;

/**
 * redis数据过期监听器*/
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    /**
     * Creates new {@link MessageListener} for {@code __keyevent@*__:expired} messages.
     *
     * @param listenerContainer must not be {@literal null}.
     */
    public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) {
        super(listenerContainer);
    }

    /**
     * 针对redis数据失效事件,进行数据处理
     * @param message
     * @param pattern
     */
    @Override
    public void onMessage(Message message, byte[] pattern) {
        
      
      // 获取失效数据的key
      String expiredKey = message.toString();

} }

 

转载于:https://www.cnblogs.com/wanhua-wu/p/9368165.html

相关文章:

  • P1064 金明的预算方案
  • windows C:\documents and settings拒绝访问
  • 枚举+最短路 poj1062
  • Python——requests模块
  • GitLab领取任务+建立分支+本地修改+上传分支+合并分支详细步骤
  • Win10应用商店缓存信息多如何去清理?
  • [数位DP][CQOI2016]手机号码(附数位DP模板)
  • SpringBoot | 第十一章:Redis的集成和简单使用
  • 搭建简单的单个Mybatis框架
  • Day 14:FileInputStream、FileOutputStream
  • 导出csv xls文件数字会自动变科学计数法的解决方式
  • 【POJ】1008 Maya Calendar
  • 逆袭之旅DAY.XIA.Object中常用方法
  • 你写的什么垃圾代码让Vsync命令不能及时处理呢?(2)
  • E_FAIL (0x80004005) MachineWrap
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • Android 控件背景颜色处理
  • Docker: 容器互访的三种方式
  • exports和module.exports
  • export和import的用法总结
  • gops —— Go 程序诊断分析工具
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Java多态
  • leetcode讲解--894. All Possible Full Binary Trees
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • React 快速上手 - 07 前端路由 react-router
  • React+TypeScript入门
  • SpringCloud集成分布式事务LCN (一)
  • Vue官网教程学习过程中值得记录的一些事情
  • 百度小程序遇到的问题
  • 给第三方使用接口的 URL 签名实现
  • 那些被忽略的 JavaScript 数组方法细节
  • 人脸识别最新开发经验demo
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 找一份好的前端工作,起点很重要
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • ionic异常记录
  • ​io --- 处理流的核心工具​
  • # Apache SeaTunnel 究竟是什么?
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (rabbitmq的高级特性)消息可靠性
  • (ros//EnvironmentVariables)ros环境变量
  • (附源码)ssm码农论坛 毕业设计 231126
  • (附源码)计算机毕业设计大学生兼职系统
  • (未解决)macOS matplotlib 中文是方框
  • (一)80c52学习之旅-起始篇
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • .Family_物联网
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .Net - 类的介绍
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET 反射的使用