监听key失效
-
修改
redis
配置这个key过期发布的通道,redis有提供一个专门打开的开关,在redis.conf里进行配置:
默认是不打开
notify-keyspace-events "Ex"
-
配置
RedisMessageListenerContainer
@Bean
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
return container;
}
- 配置监听器
@Slf4j
@Component
public class RedisKeyListener extends KeyExpirationEventMessageListener {
public RedisKeyListener(RedisMessageListenerContainer listenerContainer) {
super(listenerContainer);
}
@Override
public void onMessage(Message message, byte[] pattern) {
super.onMessage(message, pattern);
log.info("getChannel = {}", new String(message.getChannel()));
log.info("body = {}", new String(message.getBody()));
log.info("pattern = {}", new String(pattern));
}
}