打开redis服务的配置文件 添加notify-keyspace-events Ex 如果是注释了,就取消注释
这个是在以下基础上进行添加的
Spring整合redis:https://www.cnblogs.com/pxblog/p/12583703.html
在redis-context.xml 配置文件里增加
<!--设置key过期事件监听-->
<bean id="redisMessageListenerContainer" class="org.springframework.data.redis.listener.RedisMessageListenerContainer">
<property name="connectionFactory" ref="jedisConnectionFactory"/>
</bean> <!-- 这个就是创建的类RedisKeyExpirationListener的路径-->
<bean id="redisKeyExpirationListener" class="com.redis.RedisKeyExpirationListener">
<constructor-arg name="listenerContainer" ref="redisMessageListenerContainer"/>
</bean>
RedisKeyExpirationListener.java
package com.redis; 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; public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener { public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) {
super(listenerContainer);
} /**
* 针对 redis 数据失效事件,进行数据处理
*
* @param message
* @param pattern
*/
@Override
public void onMessage(Message message, byte[] pattern) {
System.out.println("过期"+message.toString());
}
}
SpringBoot整合redis实现过期key监听事件:https://www.cnblogs.com/pxblog/p/13559317.html