Spring Boot 2.7.6整合redis與低版本的區(qū)別
Spring Boot 2.7.6整合redis與低版本的區(qū)別
最近在寫程序的時候參考了之前寫過的一篇文章spring boot整合redis中間件與熱部署實(shí)現(xiàn)在參考方法是出現(xiàn)了很多問題。
對比發(fā)現(xiàn)是spring boot的版本問題。在上一篇文章中spring boot是2.1.8REALESE版本,最近項目變成了2.7.6版本。

主要有一下幾點(diǎn)不同:
1.全新的配置方式
# 2.7.6版本 # Redis服務(wù)器地址 spring.redis.host=localhost # Redis服務(wù)器連接端口 spring.redis.port=6379 # Redis服務(wù)器連接密碼(默認(rèn)為空) spring.redis.password=root //2.1.8版本 # Redis服務(wù)器地址 spring.data.redis.host=192.168.223.128 # Redis服務(wù)器連接端口 spring.data.redis.port=6379 # Redis服務(wù)器連接密碼(默認(rèn)為空) 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;
}補(bǔ)充:SpringBoot各個版本使用Redis之間的區(qū)別
今天在springboot中使用數(shù)據(jù)庫,springboot版本為2.0.2.RELEASE,通過pom引入jar包,配置文件application.properties中的redis配置文件報錯,提示例如deprecated configuration property ‘spring.redis.pool.max-active’,猜想應(yīng)該是版本不對,發(fā)現(xiàn)springboot在1.4前后集成redis發(fā)生了一些變化。下面截圖看下。
一、不同版本RedisProperties的區(qū)別
這是springboot版本為1.3.2RELEASE中的RedisProperties配置文件類,從圖片中可以看得出來該本的redis配置文件屬性有兩個內(nèi)部靜態(tài)類分別是Pool和Sentinel,七個屬性變量。列入我們想在配置文件中設(shè)置redis數(shù)據(jù)庫host地址,則可以這樣寫
spring.redis.host=localhost host為屬性,配置連接池的最大連接數(shù) spring.redis.pool.max-active=8
這個是redis在application.properties中springboot低版本的配置
# REDIS (RedisProperties) # Redis數(shù)據(jù)庫索引(默認(rèn)為0) spring.redis.database=0 # Redis服務(wù)器地址 spring.redis.host=localhost # Redis服務(wù)器連接端口 spring.redis.port=6379 # Redis服務(wù)器連接密碼(默認(rèn)為空) spring.redis.password= # 連接池最大連接數(shù)(使用負(fù)值表示沒有限制) spring.redis.pool.max-active=8 # 連接池最大阻塞等待時間(使用負(fù)值表示沒有限制) 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屬性則被封裝到了內(nèi)部靜態(tài)類Jedis和Lettuce中去了,這時我們要是配置連接池的最大連接數(shù),前綴還是spring.redis,有兩種途徑
spring.redis.jedis.pool.max-active=8 或者 spring.redis.lettuce.pool.max-active=8
這個是redis在application.properties中springboot高版本的配置
# REDIS (RedisProperties) # Redis數(shù)據(jù)庫索引(默認(rèn)為0) spring.redis.database=0 # Redis服務(wù)器地址 spring.redis.host=localhost # Redis服務(wù)器連接端口 spring.redis.port=6379 # Redis服務(wù)器連接密碼(默認(rèn)為空) spring.redis.password= # 連接池最大連接數(shù)(使用負(fù)值表示沒有限制) spring.redis.jedis.pool.max-active=8 # 連接池最大阻塞等待時間(使用負(fù)值表示沒有限制) 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中的坐標(biāo)配置
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
到此這篇關(guān)于Spring Boot 2.7.6整合redis與低版本的區(qū)別的文章就介紹到這了,更多相關(guān)Spring Boot 2.7.6整合redis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot優(yōu)雅的進(jìn)行全局異常處理的實(shí)現(xiàn)步驟
在軟件開發(fā)的世界里,異常處理是保證系統(tǒng)穩(wěn)定性和用戶體驗的關(guān)鍵因素之一,尤其是在構(gòu)建基于微服務(wù)架構(gòu)的應(yīng)用時,SpringBoot提供了一套強(qiáng)大的工具來幫助開發(fā)者管理這些異常,所以本文給大家介紹了SpringBoot如何優(yōu)雅的進(jìn)行全局異常處理,需要的朋友可以參考下2025-02-02
Java SpringBoot整合Canal實(shí)現(xiàn)數(shù)據(jù)同步方式
本文介紹了如何開啟和配置Canal,以及如何在Spring Boot中集成Canal,Canal是一種基于MySQL的數(shù)據(jù)庫變更解析工具,可以將數(shù)據(jù)庫的變更事件發(fā)送到Kafka、RocketMQ等消息隊列中,用于數(shù)據(jù)分析和挖掘2025-02-02
ThreadLocal線程在Java框架中的應(yīng)用及原理深入理解
這篇文章主要介紹了ThreadLocal在Java框架中的應(yīng)用及原理深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
使用Java編寫導(dǎo)出不確定行數(shù)列數(shù)數(shù)據(jù)的工具類
這篇文章主要為大家詳細(xì)介紹了如何使用Java編寫導(dǎo)出不確定行數(shù)列數(shù)數(shù)據(jù)的工具類,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03

