redis修改redis.windows.conf配置文件redis
放開notify-keyspace-events Exspring
springboot + redis 的狀況下的監聽:windows
@Configuration public class RedisListenerConfig { @Bean RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); return container; } }
實現監聽springboot
@Component @Slf4j public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener { public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) { super(listenerContainer); } @Override public void onMessage(Message message, byte[] pattern) { String expiredKey = message.toString(); try{ System.out.println("redis失效key====="+expiredKey); }catch (Exception e){ log.error("redis 消息訂閱異常:{}",e.getMessage()); } } }