日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

springboot redis使用lettuce配置多數據源的實現

瀏覽:183日期:2023-03-14 10:22:46

目前項目上需要連接兩個redis數據源,一個redis數據源是單機模式,一個redis數據源是分片集群模式,這里將具體配置列一下。

項目用的springboot版本為

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.1.RELEASE</version><relativePath/> <!-- lookup parent from repository --> </parent>一、在yml中配置redis數據源信息

redis: cluster: nodes: 127.0.0.1:9001 lettuce: #連接池配置 pool:#連接池最大連接數max-active: 20#連接池最大等待時間,負數表示不做限制max-wait: -1#最大空閑連接max-idle: 9#最小空閑連接min-idle: 0 timeout: 500000 redis2: host: 127.0.0.1 port: 6385 lettuce: pool:max-active: 20max-idle: 8max-wait: -1min-idle: 0 timeout: 500000

(這里的redis都沒有配置密碼)

二、添加redis配置類

package com.cq.config; import cn.hutool.core.convert.Convert;import org.apache.commons.pool2.impl.GenericObjectPoolConfig;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import org.springframework.core.env.Environment;import org.springframework.core.env.MapPropertySource;import org.springframework.data.redis.connection.RedisClusterConfiguration;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.connection.RedisStandaloneConfiguration;import org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration;import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;import org.springframework.data.redis.connection.lettuce.LettucePoolingClientConfiguration;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.serializer.RedisSerializer;import org.springframework.data.redis.serializer.StringRedisSerializer; import java.io.Serializable;import java.util.HashMap;import java.util.Map; /** * @author cccccloud on 2020/11/16 17:16 */@Configurationpublic class RedisConfig { @Autowired private Environment environment; @Value('${spring.redis2.host}') private String host; @Value('${spring.redis2.port}') private String port; @Value('${spring.redis2.lettuce.pool.max-active}') private String max_active; @Value('${spring.redis2.lettuce.pool.max-idle}') private String max_idle; @Value('${spring.redis2.lettuce.pool.max-wait}') private String max_wait; @Value('${spring.redis2.lettuce.pool.min-idle}') private String min_idle; /** * 配置lettuce連接池 * * @return */ @Bean @Primary @ConfigurationProperties(prefix = 'spring.redis.cluster.lettuce.pool') public GenericObjectPoolConfig redisPool() {return new GenericObjectPoolConfig(); } /** * 配置第一個數據源的 * * @return */ @Bean('redisClusterConfig') @Primary public RedisClusterConfiguration redisClusterConfig() { Map<String, Object> source = new HashMap<>(8);source.put('spring.redis.cluster.nodes', environment.getProperty('spring.redis.cluster.nodes'));RedisClusterConfiguration redisClusterConfiguration;redisClusterConfiguration = new RedisClusterConfiguration(new MapPropertySource('RedisClusterConfiguration', source));redisClusterConfiguration.setPassword(environment.getProperty('spring.redis.password'));return redisClusterConfiguration; } /** * 配置第一個數據源的連接工廠 * 這里注意:需要添加@Primary 指定bean的名稱,目的是為了創建兩個不同名稱的LettuceConnectionFactory * * @param redisPool * @param redisClusterConfig * @return */ @Bean('lettuceConnectionFactory') @Primary public LettuceConnectionFactory lettuceConnectionFactory(GenericObjectPoolConfig redisPool, @Qualifier('redisClusterConfig') RedisClusterConfiguration redisClusterConfig) {LettuceClientConfiguration clientConfiguration = LettucePoolingClientConfiguration.builder().poolConfig(redisPool).build();return new LettuceConnectionFactory(redisClusterConfig, clientConfiguration); } /** * 配置第一個數據源的RedisTemplate * 注意:這里指定使用名稱=factory 的 RedisConnectionFactory * 并且標識第一個數據源是默認數據源 @Primary * * @param redisConnectionFactory * @return */ @Bean('redisTemplate') @Primary public RedisTemplate redisTemplate(@Qualifier('lettuceConnectionFactory') RedisConnectionFactory redisConnectionFactory) {RedisTemplate<String, Object> template = new RedisTemplate<>();template.setConnectionFactory(redisConnectionFactory); StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();// key采用String的序列化方式template.setKeySerializer(stringRedisSerializer);// hash的key也采用String的序列化方式template.setHashKeySerializer(stringRedisSerializer);// value序列化方式采用jacksontemplate.setValueSerializer(stringRedisSerializer);// hash的value序列化方式采用jacksontemplate.setHashValueSerializer(stringRedisSerializer);template.afterPropertiesSet(); return template; } @Bean public GenericObjectPoolConfig redisPool2() {GenericObjectPoolConfig config = new GenericObjectPoolConfig();config.setMinIdle(Convert.toInt(min_idle));config.setMaxIdle(Convert.toInt(max_idle));config.setMaxTotal(Convert.toInt(max_active));config.setMaxWaitMillis(Convert.toInt(max_wait));return config; } @Bean public RedisStandaloneConfiguration redisConfig2() {RedisStandaloneConfiguration redisConfig = new RedisStandaloneConfiguration(host,Convert.toInt(port));return redisConfig; } @Bean('factory2') public LettuceConnectionFactory factory2(@Qualifier('redisPool2') GenericObjectPoolConfig config, @Qualifier('redisConfig2') RedisStandaloneConfiguration redisConfig) {//注意傳入的對象名和類型RedisStandaloneConfigurationLettuceClientConfiguration clientConfiguration = LettucePoolingClientConfiguration.builder().poolConfig(config).build();return new LettuceConnectionFactory(redisConfig, clientConfiguration); } /** * 單實例redis數據源 * * @param connectionFactory * @return */ @Bean('redisTemplateSingle') public RedisTemplate<String, Object> redisTemplateSingle(@Qualifier('factory2')LettuceConnectionFactory connectionFactory) {//注意傳入的對象名RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();redisTemplate.setConnectionFactory(connectionFactory); RedisSerializer<String> redisSerializer = new StringRedisSerializer();redisTemplate.setKeySerializer(redisSerializer);redisTemplate.setValueSerializer(redisSerializer);redisTemplate.setHashKeySerializer(redisSerializer);redisTemplate.setHashValueSerializer(redisSerializer);return redisTemplate; }}三、使用redis

使用單實例redis

/** * redis 單節點 */ @Resource(name = 'redisTemplateSingle') private RedisTemplate redisTemplateSingle;

使用redis集群

/** * redis 集群 */ @Resource(name = 'redisTemplate') private RedisTemplate redisTemplate;

到此這篇關于springboot redis使用lettuce配置多數據源的實現的文章就介紹到這了,更多相關springboot lettuce多數據源內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩欧美中文字幕在线视频| 亚洲va中文在线播放免费| 石原莉奈一区二区三区在线观看| 高清一区二区| 久久精品天堂| 久久超碰99| 免费一级欧美片在线观看网站 | 亚洲黄色中文字幕| 亚洲乱码久久| 9色精品在线| 久久高清免费观看| 在线日韩一区| 国产美女高潮在线| 成人台湾亚洲精品一区二区| 国产一卡不卡| 91成人福利| 国产精品一区二区av日韩在线| 亚洲日本三级| 日韩国产一二三区| 在线精品一区| 国产精品日韩久久久| 国产专区精品| 日韩欧美视频专区| 亚洲欧美日韩国产一区二区| 91p九色成人| 日韩欧美视频专区| 黑丝一区二区三区| 日本精品另类| 国产在线视频欧美一区| 99香蕉国产精品偷在线观看 | www.51av欧美视频| 国产精品视区| 欧美一级全黄| 免费观看久久av| 国产精品久久久久久av公交车| 国产理论在线| 日韩三级久久| 久久国产成人午夜av影院宅| 婷婷亚洲精品| 日韩伦理一区| 国产精品一在线观看| 精品中文字幕一区二区三区av| 欧美一级一区| 99热国内精品| 麻豆视频一区二区| 国产日本亚洲| 免费久久精品| 中文字幕在线看片| 国产麻豆精品| 亚洲日本国产| 夜久久久久久| 久久亚洲在线| 五月天av在线| 久久成人福利| 亚洲伊人影院| 久久亚洲二区| 国产精品三上| 先锋亚洲精品| 亚洲一区中文| 私拍精品福利视频在线一区| 蜜桃视频在线观看一区| av资源中文在线天堂| 国产精品亚洲人成在99www| 蜜桃久久av| 免费在线看一区| 不卡一区2区| 免播放器亚洲| 亚洲高清成人| 综合亚洲自拍| 国产亚洲一卡2卡3卡4卡新区| 国产一区二区三区网| 日韩在线短视频| 婷婷五月色综合香五月| 欧美日韩国产高清| 亚洲一二三区视频| 国产日韩1区| 精品国产免费人成网站| 国产精品jk白丝蜜臀av小说| 午夜精品亚洲| 日韩美女国产精品| 国产日韩欧美在线播放不卡| av高清不卡| 国产一区日韩一区| 亚洲综合激情在线| 国产精品日本一区二区三区在线| 日韩国产在线不卡视频| 亚洲精选av| 石原莉奈在线亚洲二区| 欧美a在线观看| 亚洲深夜av| 日本不卡在线视频| 日本欧美国产| 精品一区三区| 国产乱人伦丫前精品视频| 久久婷婷激情| 久久激情一区| 在线日韩中文| 精品网站999| 尹人成人综合网| 激情欧美丁香| 人人精品久久| 国产精品网在线观看| 综合激情五月婷婷| 免费视频久久| 国产欧美日韩一区二区三区四区 | 免费观看亚洲天堂| 国产伦精品一区二区三区在线播放| 国内精品亚洲| 亚洲精一区二区三区| 国产黄色一区| 国产一区日韩欧美| 亚洲网址在线观看| 99re国产精品| 福利欧美精品在线| 国产精品入口久久| 深夜日韩欧美| 日本色综合中文字幕| 视频一区二区国产| 婷婷六月综合| 国产麻豆久久| 久久久久免费| bbw在线视频| 亚洲1234区| 亚洲v在线看| 久久精品国产亚洲夜色av网站| 久久久久久自在自线| 国产91在线精品| 美女av在线免费看| 亚洲va在线| 尹人成人综合网| 日韩中文字幕麻豆| 香蕉久久99| 国产欧美激情| 国内自拍视频一区二区三区| 美日韩精品视频| 99久久99久久精品国产片果冰| 亚洲精品在线影院| 91中文字幕精品永久在线| 成人欧美一区二区三区的电影| 午夜久久影院| 狠狠色狠狠色综合日日tαg| 日韩av片子| 粉嫩av一区二区三区四区五区| 最新国产精品久久久| 麻豆精品视频在线观看| 香蕉视频亚洲一级| 国产精品美女久久久浪潮软件| 麻豆精品久久久| 波多野结衣一区| 麻豆精品91| 水蜜桃精品av一区二区| 国产在视频一区二区三区吞精| 久久国产精品成人免费观看的软件| 日韩高清在线不卡| 欧美一区二区三区激情视频| 久久aⅴ国产紧身牛仔裤| 蜜臀久久99精品久久久久宅男| 国产aa精品| 免费久久99精品国产自在现线| 青草久久视频| 国产精品99一区二区| 美女国产精品| 国产精品久久久久久av公交车| 久久久精品久久久久久96| 日本一区二区三区中文字幕| 黄色在线网站噜噜噜| 亚洲精品影院在线观看| 日韩成人三级| 国产欧美91| 亚洲综合五月| 免费高潮视频95在线观看网站| 日韩午夜视频在线| 欧美日韩国产在线观看网站 | 蜜臀久久99精品久久久久久9| 日本不卡不码高清免费观看 | 国产精品一区二区99| 午夜精品影院| 激情黄产视频在线免费观看| 国产毛片精品| 亚洲欧洲日韩| 欧美xxxx中国| 久久伊人亚洲| 亚洲精品看片| 蜜桃视频在线观看一区| 99久久九九| 精品日韩视频| 美女一区网站| 美女av一区| 久久精品系列| 精品中文在线| 久久伊人国产| 成人午夜亚洲| 精品国产午夜肉伦伦影院| 麻豆一区二区三| 91亚洲自偷观看高清| 国产精品精品| 成人久久一区| 美女亚洲一区| 午夜在线视频观看日韩17c| 国产一区91|