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)接下來,我們將基于整合搭建好的項(xiàng)目自定義注入Redis的操作模板組件,即主要是StringRedisTemplate和RedisTemplate。
值得一提的是,在傳統(tǒng)的Java Web項(xiàng)目中,如Spring+SpringMVC+Mybatis整合的項(xiàng)目,一般是直接采用基于Jedis封裝出一個(gè)JedisUtil工具類,這種方式跟以前使用JDBCUtil操作DB數(shù)據(jù)庫時(shí)有點(diǎn)類似,其缺陷還是比較明顯的(如需要手動(dòng)創(chuàng)建鏈接、關(guān)閉鏈接資源等操作)
而SpringBoot的問世,帶來了“約定優(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)文章
Spring mvc整合mybatis(crud+分頁插件)操作mysql
這篇文章主要介紹了Spring mvc整合mybatis(crud+分頁插件)操作mysql的步驟詳解,需要的朋友可以參考下2017-04-04Java動(dòng)態(tài)代理和AOP應(yīng)用示例
這篇文章主要介紹了Java動(dòng)態(tài)代理和AOP應(yīng)用,結(jié)合實(shí)例形式分析了java動(dòng)態(tài)代理在AOP面向切面編程中的相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2019-07-07Java中實(shí)現(xiàn)高清圖片壓縮的兩種方案(最新推薦)
文章首先介紹了Java中進(jìn)行高清圖片壓縮的基本方法,包括使用Java標(biāo)準(zhǔn)庫ImageIO和第三方庫ApacheCommonsCompress,通過示例代碼展示了如何調(diào)整圖像質(zhì)量和使用第三方工具來壓縮圖片文件,感興趣的朋友跟隨小編一起看看吧2025-01-01IDEA2020.1同步系統(tǒng)設(shè)置到GitHub的方法
這篇文章主要介紹了IDEA2020.1同步系統(tǒng)設(shè)置到GitHub的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05java如何從地址串中解析提取省市區(qū)(完美匹配中國(guó)所有地址)
這篇文章主要給大家介紹了關(guān)于java如何從地址串中解析提取省市區(qū)的相關(guān)資料,通過這個(gè)方法可以完美匹配中國(guó)所有地址,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07Java8實(shí)現(xiàn)Stream流的合并的方法展示
本文介紹了Java8中Stream流的合并方法,包括concat()、flatMap()和reduce()三種方法。其中,concat()方法可以將兩個(gè)Stream流合并成一個(gè),flatMap()方法可以將一個(gè)Stream流中的元素映射成多個(gè)Stream流并合并成一個(gè),reduce()方法可以將Stream流中的元素逐個(gè)合并成一個(gè)結(jié)果2023-05-05