redis过期回调方法

文章展示了如何在SpringBoot应用中配置Redis消息监听容器,用于处理Redis键的过期事件。通过`@Configuration`和`@Component`注解,创建了RedisMessageListenerContainer和RedisKeyExpirationListener,当指定后缀的键过期时,触发特定的处理逻辑。

springboot配置

@Configuration
public class RedisListenerConfig {
    @Bean
    RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {

        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);
        return container;
    }
}

插入值,设置过期时间

String uploadKey = "这是自定义的key_LANSHAN";
RedisClient redisClient = SpringUtils.getBean(RedisClient.class);
//插入缓存
redisClient.set(uploadKey,"123456");
//设置缓存过期时间为10秒
redisClient.expire(uploadKey, 10);

Redis失效事件 key

@Component
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {
 
    @Override
    public void onMessage(Message message, byte[] pattern) {
        try{
          String expiredKey = message.toString();//获取所有key
          //以下是你想执行的代码逻辑
          if(expiredKey.endsWith("_LANSHAN")){//判断后缀是否为'_LANSHAN'
              System.err.print("我得到的key:"+expiredKey);
          }
	     }catch (Exception e){
	         e.printStackTrace();
	     }
 
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值