java 对 redis key 过期监听

需要引入依赖包

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-redis</artifactId>
    <version>1.8.4.RELEASE</version>
</dependency>

关键类 KeyExpirationEventMessageListener

需要继承这个类来实现过期监听

他的底层通信是基于 ApplicationEventPublisherAware,类图如下

具体的用法

import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.stereotype.Component;

@Component
public class KeepliveTimeoutListener extends KeyExpirationEventMessageListener {

    public KeepliveTimeoutListener(RedisMessageListenerContainer listenerContainer) {
        super(listenerContainer);
    }

    @Override
    public void onMessage(Message message, byte[] pattern) {
        //  获取失效的key
        String expiredKey = message.toString();
    }
}

转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:java 对 redis key 过期监听

字数:140

本文作者:夏来风

发布时间:2020-10-18, 22:08:36

原始链接:http://www.demo1024.com/blog/java-redislistener/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。