av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

瀏覽:16日期: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
相關文章:
主站蜘蛛池模板: 国产一区二区三区四区在线观看 | 亚洲手机视频在线 | 凹凸日日摸日日碰夜夜 | 亚洲成人免费电影 | 久久综合爱 | 日韩一级一区 | 国产中文字幕亚洲 | 三级黄色大片网站 | 一区二视频 | 精品一区二区三区91 | 成人在线免费电影 | 91色视频在线观看 | 日韩欧美精品一区 | 二区在线视频 | 免费中文字幕日韩欧美 | 羞羞视频在线观看 | 特黄毛片 | 欧美日韩久 | 久久精品国产99国产 | 日韩www视频| 91精品国产91久久久久久三级 | 国产福利在线 | 99国产精品99久久久久久 | 99reav| h视频免费在线观看 | 欧美一区二区三区久久精品 | 久在线精品视频 | 午夜黄色 | 欧美 日本 国产 | 久草视频观看 | 日韩伦理一区二区三区 | 久久av.com | 亚洲入口 | 日韩a视频| 精品99久久久久久 | 欧美日韩一区二区在线观看 | 国产精品视频网 | 国产一区二区毛片 | 97久久超碰| 国产一区二区三区 | 国产高清视频一区二区 |