灰色链网站建设,公司简介宣传图,网站主持人制作,石家庄seo霸屏一、配置Redis开启
打开conf/redis.conf 文件#xff0c;添加参数#xff1a;notify-keyspace-events Ex 二、验证配置
步骤一#xff1a;进入redis客户端#xff1a;redis-cli步骤二#xff1a;执行 CONFIG GET notify-keyspace-events #xff0c;如果有返回值证明配…一、配置Redis开启
打开conf/redis.conf 文件添加参数notify-keyspace-events Ex 二、验证配置
步骤一进入redis客户端redis-cli步骤二执行 CONFIG GET notify-keyspace-events 如果有返回值证明配置成功如果没有执行步骤三步骤三执行CONFIG SET notify-keyspace-events Ex再查看步骤二是否有值 三、两个类
package com.ciih.autopaddleGetway.config.redis;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;import javax.annotation.Resource;Configuration
public class RedisConfig {Resourceprivate RedisConnectionFactory redisConnectionFactory;Resourceprivate RedisKeyExpirationListener redisExpiredListener;Beanpublic RedisMessageListenerContainer redisMessageListenerContainer() {RedisMessageListenerContainer redisMessageListenerContainer new RedisMessageListenerContainer();redisMessageListenerContainer.setConnectionFactory(redisConnectionFactory);//监听所有key的过期事件redisMessageListenerContainer.addMessageListener(redisExpiredListener, redisExpiredListener.getTopic());return redisMessageListenerContainer;}}package com.ciih.autopaddleGetway.config.redis;import lombok.Data;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.data.redis.listener.PatternTopic;
import org.springframework.stereotype.Component;Data
Component
public class RedisKeyExpirationListener implements MessageListener {//监听的主题(只监听redis数据库1如果要监听redis所有的库把1替换为*)public final PatternTopic topic new PatternTopic(__keyevent1__:expired);/*** Redis失效事件 key** param message* param pattern*/Overridepublic void onMessage(Message message, byte[] pattern) {String expiraKey message.toString();System.out.println(expiraKey 触发了失效事件);System.out.println();}
}