SpringBoot2.0整合Redis自定義注入bean組件配置的實戰(zhàn)教程
摘要:對于Redis,相信很多小伙伴早已有所耳聞,更有甚者,已經(jīng)將其應(yīng)用到許許多多的項目當(dāng)中了!沒錯,它就是目前業(yè)界應(yīng)用相當(dāng)廣泛的其中一種緩存中間件,也可以算是其中的佼佼者吧,從本篇文章開始,我們將基于SpringBoot2.0整合搭建的微服務(wù)項目為奠基,開啟中間件Redis的實戰(zhàn)之路!
內(nèi)容:本篇文章我們將首先基于SpringBoot2.0搭建的項目整合緩存中間件Redis,在項目中加入跟Redis相關(guān)的、常見的配置信息,并自定義注入Redis的模板操作組件StringRedisTemplate和RedisTemplate,最終給大伙擼個簡單的Demo并由此開啟Redis的實戰(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)接下來,我們將基于整合搭建好的項目自定義注入Redis的操作模板組件,即主要是StringRedisTemplate和RedisTemplate。
值得一提的是,在傳統(tǒng)的Java Web項目中,如Spring+SpringMVC+Mybatis整合的項目,一般是直接采用基于Jedis封裝出一個JedisUtil工具類,這種方式跟以前使用JDBCUtil操作DB數(shù)據(jù)庫時有點(diǎn)類似,其缺陷還是比較明顯的(如需要手動創(chuàng)建鏈接、關(guān)閉鏈接資源等操作)
而SpringBoot的問世,帶來了“約定優(yōu)先于配置”、“起步依賴”等優(yōu)點(diǎn),省去了許多以往需要手動創(chuàng)建、關(guān)閉鏈接等有可能消耗資源的操作,即直接就內(nèi)置在了SpringBoot Redis的起步依賴中了,而對于如何更加便捷的操作Redis,SpringBoot更是直接封裝、提供了兩大模板操作組件StringRedisTemplate和RedisTemplate,如下所示我們自定義注入了這兩個模板操作組件,即主要指定其序列化的相關(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring mvc整合mybatis(crud+分頁插件)操作mysql
這篇文章主要介紹了Spring mvc整合mybatis(crud+分頁插件)操作mysql的步驟詳解,需要的朋友可以參考下2017-04-04
Java中實現(xiàn)高清圖片壓縮的兩種方案(最新推薦)
文章首先介紹了Java中進(jìn)行高清圖片壓縮的基本方法,包括使用Java標(biāo)準(zhǔn)庫ImageIO和第三方庫ApacheCommonsCompress,通過示例代碼展示了如何調(diào)整圖像質(zhì)量和使用第三方工具來壓縮圖片文件,感興趣的朋友跟隨小編一起看看吧2025-01-01
IDEA2020.1同步系統(tǒng)設(shè)置到GitHub的方法
這篇文章主要介紹了IDEA2020.1同步系統(tǒng)設(shè)置到GitHub的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
java如何從地址串中解析提取省市區(qū)(完美匹配中國所有地址)
這篇文章主要給大家介紹了關(guān)于java如何從地址串中解析提取省市區(qū)的相關(guān)資料,通過這個方法可以完美匹配中國所有地址,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07

