Spring Boot 2.7.6整合redis與低版本的區(qū)別
Spring Boot 2.7.6整合redis與低版本的區(qū)別
最近在寫程序的時(shí)候參考了之前寫過的一篇文章spring boot整合redis中間件與熱部署實(shí)現(xiàn)在參考方法是出現(xiàn)了很多問題。
對(duì)比發(fā)現(xiàn)是spring boot的版本問題。在上一篇文章中spring boot是2.1.8REALESE版本,最近項(xiàng)目變成了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需要自動(dòng)裝配
@Bean
public RedisTemplate makeRedisTemplate(@Autowired RedisConnectionFactory redisConnectionFactory) {
RedisTemplate redisTemplate = new RedisTemplate();
//redisTemplate.setConnectionFactory(redisConnectionFactory);
redisTemplate.setConnectionFactory(redisConnectionFactory);
return redisTemplate;
}補(bǔ)充:SpringBoot各個(gè)版本使用Redis之間的區(qū)別
今天在springboot中使用數(shù)據(jù)庫,springboot版本為2.0.2.RELEASE,通過pom引入jar包,配置文件application.properties中的redis配置文件報(bào)錯(cuò),提示例如deprecated configuration property ‘spring.redis.pool.max-active’,猜想應(yīng)該是版本不對(duì),發(fā)現(xiàn)springboot在1.4前后集成redis發(fā)生了一些變化。下面截圖看下。
一、不同版本RedisProperties的區(qū)別
這是springboot版本為1.3.2RELEASE中的RedisProperties配置文件類,從圖片中可以看得出來該本的redis配置文件屬性有兩個(gè)內(nèi)部靜態(tài)類分別是Pool和Sentinel,七個(gè)屬性變量。列入我們想在配置文件中設(shè)置redis數(shù)據(jù)庫host地址,則可以這樣寫
spring.redis.host=localhost host為屬性,配置連接池的最大連接數(shù) spring.redis.pool.max-active=8
這個(gè)是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 # 連接池最大阻塞等待時(shí)間(使用負(fù)值表示沒有限制) spring.redis.pool.max-wait=-1 # 連接池中的最大空閑連接 spring.redis.pool.max-idle=8 # 連接池中的最小空閑連接 spring.redis.pool.min-idle=0 # 連接超時(shí)時(shí)間(毫秒) spring.redis.timeout=0
下圖則是springboot版本為2.0.2RELEASE中的RedisProperties配置文件類,從圖中可知pool屬性則被封裝到了內(nèi)部靜態(tài)類Jedis和Lettuce中去了,這時(shí)我們要是配置連接池的最大連接數(shù),前綴還是spring.redis,有兩種途徑
spring.redis.jedis.pool.max-active=8 或者 spring.redis.lettuce.pool.max-active=8
這個(gè)是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 # 連接池最大阻塞等待時(shí)間(使用負(fù)值表示沒有限制) spring.redis.jedis.pool.max-wait=-1 # 連接池中的最大空閑連接 spring.redis.jedis.pool.max-idle=8 # 連接池中的最小空閑連接 spring.redis.jedis.pool.min-idle=0 # 連接超時(shí)時(shí)間(毫秒) 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版本后)多了個(gè)data加個(gè)紅和粗吧--><depen
到此這篇關(guān)于Spring Boot 2.7.6整合redis與低版本的區(qū)別的文章就介紹到這了,更多相關(guān)Spring Boot 2.7.6整合redis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot不讀取bootstrap.yml/properties文件問題
這篇文章主要介紹了SpringBoot不讀取bootstrap.yml/properties文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
帶你重新認(rèn)識(shí)MyBatis的foreach
這篇文章主要介紹了重新認(rèn)識(shí)MyBatis的foreach,本文提出了一種簡(jiǎn)化<foreach>寫法的設(shè)想,更重要的是通過解決空集時(shí)生成的SQL語法問題,更深刻地理解MyBatis的foreach的生成機(jī)制,需要的朋友可以參考下2022-11-11
java調(diào)用未知類的指定方法簡(jiǎn)單實(shí)例
這篇文章介紹了java調(diào)用未知類的指定方法簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-09-09
java對(duì)象轉(zhuǎn)成byte數(shù)組的3種方法
這篇文章主要為大家詳細(xì)介紹了java對(duì)象轉(zhuǎn)成byte數(shù)組的3種方法,具有一定的參考價(jià)值,感興趣的朋友可以參考一下2018-06-06
Java中HashMap和Hashtable的區(qū)別小結(jié)
本文主要介紹了Java中HashMap和Hashtable的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Spring?Security權(quán)限管理實(shí)現(xiàn)接口動(dòng)態(tài)權(quán)限控制
這篇文章主要為大家介紹了Spring?Security權(quán)限管理實(shí)現(xiàn)接口動(dòng)態(tài)權(quán)限控制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06

