色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Spring boot如何快速的配置多個Redis數據源

瀏覽:27日期:2023-05-12 08:56:14

簡介

redis 多數據源主要的運用場景是在需要使用多個redis服務器或者使用多個redis庫,本文采用的是fastdep依賴集成框架,快速集成Redis多數據源并集成lettuce連接池,只需引入依賴后在yaml文件中配置多數據源連接信息即可。

源碼地址希望大家可以star支持一下,后續還會加入其它依賴的簡易整合。https://github.com/louislivi/fastdep

引入依賴

Maven

<dependency> <groupId>com.louislivi.fastdep</groupId> <artifactId>fastdep-redis</artifactId> <version>1.0.1</version></dependency>

Gradle

compile group: ’com.louislivi.fastdep’, name: ’fastdep-redis’, version: ’1.0.1’

配置文件

fastdep: redis: redis1: #連接名稱 database: 0 host: 192.168.12.88 port: 6379 lettuce: #下面為連接池的補充設置 shutdown-timeout: 100 # 關閉超時時間 pool: max-active: 18 # 連接池最大連接數(使用負值表示沒有限制) max-idle: 8 # 連接池中的最大空閑連接 max-wait: 30 # 連接池最大阻塞等待時間(使用負值表示沒有限制) min-idle: 0 # 連接池中的最小空閑連接 redis2: #連接名稱 database: 1 host: 192.168.12.88 port: 6379 lettuce: #下面為連接池的補充設置 shutdown-timeout: 100 # 關閉超時時間 pool: max-active: 18 # 連接池最大連接數(使用負值表示沒有限制) max-idle: 8 # 連接池中的最大空閑連接 max-wait: 30 # 連接池最大阻塞等待時間(使用負值表示沒有限制) min-idle: 0 # 連接池中的最小空閑連接

運用

@Autowiredprivate StringRedisTemplate redis1StringRedisTemplate;// 注入時 redis1 代表配置文件中的連接名稱 StringRedisTemplate 為固定注入redis對象類型,// 會自動根據注入的變量名進行匹配@Autowiredprivate StringRedisTemplate redis2StringRedisTemplate;@GetMapping('redis')public void redis() { System.out.println(redis1StringRedisTemplate.opsForValue().get('test')); System.out.println(redis2StringRedisTemplate.opsForValue().get('test'));}

擴展

有時候需要自定義redisTemplate序列化和增加一些額外的配置,這時候我們可以封裝一個redis工具類來實現

package com.louislivi.fastdep.test.utils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.data.redis.serializer.StringRedisSerializer;import org.springframework.stereotype.Component;/** * RedisUtil * * @author : louislivi */@Componentpublic class RedisUtil { @Autowired private StringRedisTemplate redis1StringRedisTemplate; @Autowired private StringRedisTemplate redis2StringRedisTemplate; @Autowired private RedisTemplate redis2RedisTemplate; @Autowired private RedisTemplate redis1RedisTemplate; public RedisTemplate redisTemplate(String name) { RedisTemplate redisTemplate; switch (name) { case 'redis2':redisTemplate = redis2RedisTemplate;break; default:redisTemplate = redis1RedisTemplate;break; } StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(stringRedisSerializer); redisTemplate.setValueSerializer(stringRedisSerializer); redisTemplate.setHashKeySerializer(stringRedisSerializer); redisTemplate.setHashValueSerializer(stringRedisSerializer); return redisTemplate; } public StringRedisTemplate stringRedisTemplate(String name) { StringRedisTemplate stringRedisTemplate; switch (name) { case 'redis2':stringRedisTemplate = redis2StringRedisTemplate;break; default:stringRedisTemplate = redis1StringRedisTemplate;break; } stringRedisTemplate.setEnableTransactionSupport(true); return stringRedisTemplate; }}

@Autowiredprivate RedisUtil redisUtil;@GetMapping('redis')public void redis() { System.out.println(redisUtil.redisTemplate('redis1').opsForValue().get('test')); System.out.println(redisUtil.stringRedisTemplate('redis2').opsForValue().get('test'));}

原理

使用ImportBeanDefinitionRegistrar BeanDefinitionBuilder.genericBeanDefinition動態注入Bean其實很簡單有興趣可以去看看源碼,這樣的依賴集成是不是簡單了很多呢?

希望大家能夠支持開源,給個小星星,后續還會繼續開發其他依賴的整合,甚至兼容其他框架使用。fastdep讓java整合依賴更簡單。在此也招募有志同道合的coder共同完善這個項目。

到此這篇關于Spring boot如何快速的配置多個Redis數據源的文章就介紹到這了,更多相關Spring boot多個Redis數據源內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 黄频免费影院 | 国产黄色大片网站 | 亚洲第一成年网站大全亚洲 | 日韩aⅴ在线观看 | 国产做a爰片久久毛片 | 亚洲免费一| 日本不卡不码高清免费观看 | 久久福利青草精品免费 | 羞羞一区二区三区四区片 | 日本久久伊人 | 午夜精品免费 | 日本高清视频一区二区 | 成人精品在线视频 | 日韩三级视频在线 | 国产日韩久久久精品影院首页 | 国产精品国产三级国产a | 一区二区三区免费视频网站 | 免费中文字幕一级毛片 | 精品中文字幕一区在线 | 中国hd高清╳xxx | 欧美激情亚洲一区中文字幕 | 韩国美女激情视频一区二区 | www色在线 | 国产色在线观看 | 成人五级毛片免费播放 | 5级做人爱c视版免费视频 | 黄www片 | 伊人久久网站 | 亚洲欧美精品成人久久91 | 亚洲第一视频网站 | 亚洲美女视频一区二区三区 | 欧美日本在线一区二区三区 | 黄色三级毛片 | 亚洲国产天堂久久九九九 | 国产三级视频在线播放 | 国产精品三级a三级三级午夜 | 一级欧美 | 99视频精品全国在线观看 | 成年女人免费视频播放成年m | 国产精品久久久久久久久久久不卡 | 亚州精品一区二区三区 |