Springboot关于Redis的配置失效(版本问题)

 背景:

前段时间使用redis时发现yaml配置中的redis相关配置不生效,后面发现将配置修改甚至删除所有相关redis的配置,springboot依然能使用redis里面默认的db0并且不报错。上网查阅了一些文章,但是都和我的情况不符。

直接说结论:

出现这个问题的原因是SpringBoot 2.x和 3.x 对于reids的配置不一样。之前我用的是3.x版本,后来修改了版本,却没有修改redis配置。还是因为粗心导致了这个问题

配置代码

业务代码:

//生成验证码
        String code = RandomCodeUtils.randomNumbers(6);
        // 存储验证码到reids
        stringRedisTemplate.opsForValue().set(LOGIN_CODE_KEY + recipient, code, LOGIN_CODE_TTL, TimeUnit.MINUTES);
        //todo 在这里发送代码
        return Result.success("邮件发送成功");

修改前配置(SpringBoot 3.x使用这种配置):

spring:
  data:
    redis:
      host: 127.0.0.1
      port: 6379
      database: 11
      password:
      jedis:
        pool:
          max-active: 8
          max-idle: 8
          min-idle: 2
          max-wait: 300ms

修改后yaml配置(SpringBoot 2.x使用这种配置):

spring:
  redis:
    host: 127.0.0.1
    port: 6379
    password:
    database: 11
    jedis:
        pool:
          max-active: 8
          max-idle: 8
          min-idle: 2
          max-wait: 300ms

运行后的效果

可以看到配置生效,使用的是db11

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用Spring Boot自带的Redis Starter来集成Redis,然后使用Redis的官方客户端Jedis或Lettuce来实现看门狗功能。具体实现可以参考Redis官方文档或相关的开源项目。 ### 回答2: Spring Boot是一个开源的Java开发框架,它简化了基于Spring的应用程序的开发过程。Redis是一种支持内存缓存的键值对数据库。 使用Spring Boot中的Redis看门狗功能可以通过监控Redis失效事件,并在发生失效事件时执行一系列操作。在Spring Boot中,我们可以使用Spring Data Redis提供的功能来实现这一功能。 首先,我们需要在Spring Boot的配置文件中配置Redis的连接信息,包括主机名,端口号和密码(如果有)。然后,我们可以使用Spring Boot提供的RedisTemplate对象来与Redis进行交互。 要使用Redis看门狗,我们需要配置一个Redis的监听器,以便在发生失效事件时触发相应的操作。我们可以使用Redis的KeyExpirationEventMessageListener监听器来实现这一功能。我们需要创建一个类并实现MessageListener接口,然后重写onMessage方法来定义触发失效事件时的操作。 在onMessage方法中,我们可以获取到失效的键名和触发失效事件的类型。根据需要,我们可以执行一系列操作,比如重新加载缓存、处理一些逻辑或通知其他组件。 为了使这个监听器生效,我们还需要将其注册到RedisTemplate中。这可以通过在RedisTemplate的配置文件中注册这个监听器来实现。 总之,使用Spring Boot中的Redis看门狗功能可以帮助我们实时监控Redis失效事件,并在发生失效事件时执行相应的操作。这可以提高系统的稳定性和性能,并更好地利用Redis的缓存功能。 ### 回答3: Spring Boot可以使用Redis实现看门狗功能。看门狗是一种监控系统,用于检测和处理系统中出现的异常情况。 在Spring Boot中使用Redis实现看门狗功能主要包括以下步骤: 1. 在Spring Boot项目中引入Redis的依赖。可以使用Maven或Gradle添加相应的依赖项。 2. 配置Redis连接信息。在application.properties(或application.yml)文件中添加Redis的连接配置,包括主机地址、端口号、密码等。 3. 使用Redis的消息队列功能实现异步处理。通过在程序中创建一个消息队列,并将需要处理的异常情况存储为消息,然后由消费者异步处理这些消息。 4. 配置定时任务。使用Spring Boot的定时任务功能,定期从Redis的消息队列中获取待处理的消息,并进行处理。 5. 根据实际需求编写相关代码。根据具体的应用场景和需求,编写代码来处理异常情况,例如发送警报、记录日志、恢复系统等。 使用Redis实现看门狗功能的好处是,Redis具有高性能、高可用性和灵活的数据结构等特点,能够支持大规模并发和高效的异步处理。此外,Redis还提供了丰富的API,方便开发人员进行操作和管理。 总而言之,Spring Boot可以通过使用Redis来实现看门狗功能,该功能可以监控和处理系统中的异常情况,提高系统的稳定性和可靠性。通过配置Redis连接信息、使用Redis的消息队列和定时任务等功能,开发人员能够根据实际需求编写代码并实现对异常情况的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值