配置文件修改
vim /usr/local/redis/redis.conf
修改字段 监听过期
notify-keyspace-events Ex
java代码事件监听
@Slf4j
@Component
public class KeyExpiredListener extends KeyExpirationEventMessageListener {
@Autowired
private RedisTemplate<String, String> redisTemplate;
public KeyExpiredListener(RedisMessageListenerContainer listenerContainer) {
super(listenerContainer);
}
@Override
public void onMessage(Message message, byte[] pattern) {
//获取失效key名称
String expireKey = new String(message.getBody(), StandardCharsets.UTF_8);
//获取key原本的value 获取不到 是null
String expireKeyValue = redisTemplate.opsForValue().get("myKey");
log.info("expireKey---"+expireKey);
log.info("expireKeyValue---"+expireKeyValue);
log.info("pattern----{}",new String(pattern));
}
}