Spring Boot 2.7.6整合redis与低版本的区别

 更新时间:2023年02月02日 11:50:04   作者:_小许_  
这篇文章主要介绍了Spring Boot 2.7.6整合redis与低版本的区别,文中补充介绍了SpringBoot各个版本使用Redis之间的区别实例讲解,需要的朋友可以参考下

Spring Boot 2.7.6整合redis与低版本的区别

最近在写程序的时候参考了之前写过的一篇文章spring boot整合redis中间件与热部署实现在参考方法是出现了很多问题。

对比发现是spring boot的版本问题。在上一篇文章中spring boot是2.1.8REALESE版本,最近项目变成了2.7.6版本。

在这里插入图片描述

主要有一下几点不同:

1.全新的配置方式

# 2.7.6版本
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=root
//2.1.8版本
# Redis服务器地址
spring.data.redis.host=192.168.223.128
# Redis服务器连接端口
spring.data.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.data.redis.password=root

新版本省去了data

2.JedisConnectionFactory的生成方式

//2.1.8
        @Bean
        public JedisConnectionFactory JedisConnectionFactory(){
            RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration ();
            redisStandaloneConfiguration.setHostName(host);
            redisStandaloneConfiguration.setPort(port);
            redisStandaloneConfiguration.setPassword(password);
            JedisClientConfiguration.JedisClientConfigurationBuilder jedisClientConfiguration = JedisClientConfiguration.builder();
            JedisConnectionFactory factory = new JedisConnectionFactory(redisStandaloneConfiguration,
                    jedisClientConfiguration.build());
            return factory;
        }
//2.7.6
 @Bean
    public JedisConnectionFactory jedisConnectionFactory(){
        RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration ();
        redisStandaloneConfiguration.setHostName(host);
        redisStandaloneConfiguration.setPort(port);
        redisStandaloneConfiguration.setPassword(password);

        JedisClientConfiguration.JedisClientConfigurationBuilder jedisClientConfigurationBuilder = (JedisClientConfiguration.JedisClientConfigurationBuilder) JedisClientConfiguration.builder();

        JedisClientConfiguration jedisClientConfiguration = jedisClientConfigurationBuilder.build();
        return new JedisConnectionFactory(redisStandaloneConfiguration,jedisClientConfiguration);
    }

3.RedisConnectionFactory需要自动装配

    @Bean
    public RedisTemplate makeRedisTemplate(@Autowired RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate redisTemplate = new RedisTemplate();
        //redisTemplate.setConnectionFactory(redisConnectionFactory);
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        return redisTemplate;
    }

补充:SpringBoot各个版本使用Redis之间的区别

今天在springboot中使用数据库,springboot版本为2.0.2.RELEASE,通过pom引入jar包,配置文件application.properties中的redis配置文件报错,提示例如deprecated configuration property ‘spring.redis.pool.max-active’,猜想应该是版本不对,发现springboot在1.4前后集成redis发生了一些变化。下面截图看下。

一、不同版本RedisProperties的区别

这是springboot版本为1.3.2RELEASE中的RedisProperties配置文件类,从图片中可以看得出来该本的redis配置文件属性有两个内部静态类分别是Pool和Sentinel,七个属性变量。列入我们想在配置文件中设置redis数据库host地址,则可以这样写

spring.redis.host=localhost host为属性,配置连接池的最大连接数 spring.redis.pool.max-active=8

这个是redis在application.properties中springboot低版本的配置

# REDIS (RedisProperties)
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=0

下图则是springboot版本为2.0.2RELEASE中的RedisProperties配置文件类,从图中可知pool属性则被封装到了内部静态类Jedis和Lettuce中去了,这时我们要是配置连接池的最大连接数,前缀还是spring.redis,有两种途径

spring.redis.jedis.pool.max-active=8 或者 spring.redis.lettuce.pool.max-active=8

这个是redis在application.properties中springboot高版本的配置

# REDIS (RedisProperties)
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=0

2、maven下pom中的坐标配置

springboot版本1.4以下<!--引入 spring-boot-starter-redis(1.4版本前)--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-redis</artifactId><version>1.3.2.RELEASE</version></dependency>
springboot版本1.4以上<!--引入 spring-boot-starter-data-redis(1.4版本后)多了个data加个红和粗吧--><depen

到此这篇关于Spring Boot 2.7.6整合redis与低版本的区别的文章就介绍到这了,更多相关Spring Boot 2.7.6整合redis内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一篇文章让你学会Java的输入与输出

    一篇文章让你学会Java的输入与输出

    这篇文章主要介绍了Java输入与输出的相关资料,包括使用System.out.println()、System.out.printf()和System.out.print()进行输出,以及使用Scanner类和System.in.read()方法进行输入,需要的朋友可以参考下
    2025-03-03
  • SpringBoot优雅的进行全局异常处理的实现步骤

    SpringBoot优雅的进行全局异常处理的实现步骤

    在软件开发的世界里,异常处理是保证系统稳定性和用户体验的关键因素之一,尤其是在构建基于微服务架构的应用时,SpringBoot提供了一套强大的工具来帮助开发者管理这些异常,所以本文给大家介绍了SpringBoot如何优雅的进行全局异常处理,需要的朋友可以参考下
    2025-02-02
  • 浅谈idea中导入maven项目的两种方式

    浅谈idea中导入maven项目的两种方式

    本文主要介绍了浅谈idea中导入maven项目的两种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • Java SpringBoot整合Canal实现数据同步方式

    Java SpringBoot整合Canal实现数据同步方式

    本文介绍了如何开启和配置Canal,以及如何在Spring Boot中集成Canal,Canal是一种基于MySQL的数据库变更解析工具,可以将数据库的变更事件发送到Kafka、RocketMQ等消息队列中,用于数据分析和挖掘
    2025-02-02
  • 详解java中命令行模式的实现

    详解java中命令行模式的实现

    命令模式是一种行为设计模式,它允许您将请求封装为对象,以便您可以将其参数化、队列化、记录和撤销,本文主要为大家介绍一下java实现命令模式的示例代码,需要的可以参考下
    2023-09-09
  • ThreadLocal线程在Java框架中的应用及原理深入理解

    ThreadLocal线程在Java框架中的应用及原理深入理解

    这篇文章主要介绍了ThreadLocal在Java框架中的应用及原理深入理解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Java编程思想对象的容纳实例详解

    Java编程思想对象的容纳实例详解

    这篇文章主要介绍了Java编程思想对象的容纳实例详解,内容比较详细,涵盖的东西也比较多,具有参考价值,需要的朋友了解下。
    2017-09-09
  • Java面试题冲刺第十一天--集合框架篇(2)

    Java面试题冲刺第十一天--集合框架篇(2)

    这篇文章主要为大家分享了最有价值的两道集合框架的面试题,涵盖内容全面,包括数据结构和算法相关的题目、经典面试编程题等,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • 使用Java编写导出不确定行数列数数据的工具类

    使用Java编写导出不确定行数列数数据的工具类

    这篇文章主要为大家详细介绍了如何使用Java编写导出不确定行数列数数据的工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • 详细解析Java中抽象类和接口的区别

    详细解析Java中抽象类和接口的区别

    这篇文章主要介绍了Java中抽象类和接口的区别详解,需要的朋友可以参考下
    2014-10-10

最新评论