SpringBoot过期key监听 SpringBoot怎样整合redis实现过期key监听事件

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

SpringBoot过期key监听 SpringBoot怎样整合redis实现过期key监听事件

yvioo   2021-03-16 我要评论
想了解SpringBoot怎样整合redis实现过期key监听事件的相关内容吗,yvioo在本文为您仔细讲解SpringBoot过期key监听的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:SpringBoot,redis,过期key,监听事件,下面大家一起来学习吧。

可以用于简单的过期订单取消支付、7天自动收货场景中

1、Spring Boot整合redis 参考

https:

2、打开redis服务的配置文件添加notify-keyspace-events Ex 如果是注释了,就取消注释

Linux安装redis:https:

Windows安装redis:https:

3、在redis配置类 @Configuration 添加如下内容

@Bean
  RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {
    RedisMessageListenerContainer container = new RedisMessageListenerContainer();
    container.setConnectionFactory(connectionFactory);
    return container;
  }

4、新建过期Key监听

RedisKeyExpirationListener.java

import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.stereotype.Component;

@Component
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {


  public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) {
    super(listenerContainer);
  }

  /**
   * 针对 redis 数据失效事件,进行数据处理
   *
   * @param message
   * @param pattern
   */
  @Override
  public void onMessage(Message message, byte[] pattern) {
    System.out.println("过期"+message.toString());
  }
}

使用方式

//把key放进redis中,并设置过期时间为三秒,也可以按照自己的写法
redisService.set(key,key, 3);

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们