SpringBoot2.0整合Redis自定義注入bean組件配置的實(shí)戰(zhàn)教程
摘要:對(duì)于Redis,相信很多小伙伴早已有所耳聞,更有甚者,已經(jīng)將其應(yīng)用到許許多多的項(xiàng)目當(dāng)中了!沒錯(cuò),它就是目前業(yè)界應(yīng)用相當(dāng)廣泛的其中一種緩存中間件,也可以算是其中的佼佼者吧,從本篇文章開始,我們將基于SpringBoot2.0整合搭建的微服務(wù)項(xiàng)目為奠基,開啟中間件Redis的實(shí)戰(zhàn)之路!
內(nèi)容:本篇文章我們將首先基于SpringBoot2.0搭建的項(xiàng)目整合緩存中間件Redis,在項(xiàng)目中加入跟Redis相關(guān)的、常見的配置信息,并自定義注入Redis的模板操作組件StringRedisTemplate和RedisTemplate,最終給大伙擼個(gè)簡(jiǎn)單的Demo并由此開啟Redis的實(shí)戰(zhàn)之旅!
(1)第一步當(dāng)然是先加入中間件Redis的依賴Jar,如下所示:
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.3.3.RELEASE</version>
</dependency>然后是在配置文件application.properties中加入Redis常見的相關(guān)配置信息,包括host、port等基本信息,在這里我們提供了兩種配置方式,即“單機(jī)模式”和“集群模式”的配置,如下所示:
#redis 單機(jī)配置 spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.redis.password= spring.redis.jedis.pool.min-idle=100 spring.redis.jedis.pool.max-idle=300 spring.redis.jedis.pool.max-active=500 #集群配置 #spring.redis.cluster.nodes=127.0.0.1:6379,127.0.0.1:6380,127.0.0.1:6381,127.0.0.1:6382
(2)接下來(lái),我們將基于整合搭建好的項(xiàng)目自定義注入Redis的操作模板組件,即主要是StringRedisTemplate和RedisTemplate。
值得一提的是,在傳統(tǒng)的Java Web項(xiàng)目中,如Spring+SpringMVC+Mybatis整合的項(xiàng)目,一般是直接采用基于Jedis封裝出一個(gè)JedisUtil工具類,這種方式跟以前使用JDBCUtil操作DB數(shù)據(jù)庫(kù)時(shí)有點(diǎn)類似,其缺陷還是比較明顯的(如需要手動(dòng)創(chuàng)建鏈接、關(guān)閉鏈接資源等操作)
而SpringBoot的問世,帶來(lái)了“約定優(yōu)先于配置”、“起步依賴”等優(yōu)點(diǎn),省去了許多以往需要手動(dòng)創(chuàng)建、關(guān)閉鏈接等有可能消耗資源的操作,即直接就內(nèi)置在了SpringBoot Redis的起步依賴中了,而對(duì)于如何更加便捷的操作Redis,SpringBoot更是直接封裝、提供了兩大模板操作組件StringRedisTemplate和RedisTemplate,如下所示我們自定義注入了這兩個(gè)模板操作組件,即主要指定其序列化的相關(guān)策略:
/**
* @EnableCaching:開啟緩存(注解生效的)
* redis的操作組件自定義注入配置
**/
@Configuration
@EnableCaching
public class RedisConfig {
@Autowired
private RedisConnectionFactory connectionFactory;
@Bean
public RedisTemplate redisTemplate(){
RedisTemplate<String,Object> redisTemplate=new RedisTemplate<>();
redisTemplate.setConnectionFactory(connectionFactory);
//設(shè)置序列化策略
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
@Bean
public StringRedisTemplate stringRedisTemplate(){
StringRedisTemplate stringRedisTemplate=new StringRedisTemplate();
stringRedisTemplate.setConnectionFactory(connectionFactory);
return stringRedisTemplate;
}
}到此這篇關(guān)于SpringBoot2.0整合Redis自定義注入bean組件配置的文章就介紹到這了,更多相關(guān)SpringBoot2.0整合Redis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java+opencv3.2.0實(shí)現(xiàn)輪廓檢測(cè)
這篇文章主要為大家詳細(xì)介紹了Java+opencv3.2.0實(shí)現(xiàn)輪廓檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
淺析Spring Validation參數(shù)校驗(yàn)的實(shí)現(xiàn)原理與進(jìn)階用法
這篇文章主要介紹了Spring Validation參數(shù)校驗(yàn)的實(shí)現(xiàn)原理與進(jìn)階用法,本文展示了分組校驗(yàn),嵌套校驗(yàn),集合校驗(yàn)等進(jìn)階功能,并提供了自定義校驗(yàn)注解的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助2026-01-01
elasticsearch集群發(fā)現(xiàn)zendiscovery的Ping機(jī)制分析
這篇文章主要為大家介紹了elasticsearch集群發(fā)現(xiàn)zendiscovery的Ping機(jī)制分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
SpringBoot開發(fā)案例之配置Druid數(shù)據(jù)庫(kù)連接池的示例
本篇文章主要介紹了SpringBoot開發(fā)案例之配置Druid數(shù)據(jù)庫(kù)連接池的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2018-03-03
spring事務(wù)的REQUIRES_NEW源碼示例解析
這篇文章主要為大家介紹了spring事務(wù)的REQUIRES_NEW源碼示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Java中OSS存儲(chǔ)桶未創(chuàng)建導(dǎo)致的XML錯(cuò)誤的解決方法
在Java開發(fā)中,集成對(duì)象存儲(chǔ)服務(wù)(OSS)時(shí),開發(fā)者常會(huì)遇到一個(gè)令人困惑的錯(cuò)誤提示,This XML file does not appear,此錯(cuò)誤看似與XML文件格式或樣式表有關(guān),實(shí)則源于 OSS存儲(chǔ)桶未創(chuàng)建,本文將通過 真實(shí)場(chǎng)景還原、逐步排查過程和代碼級(jí)解決方案,需要的朋友可以參考下2025-06-06

