栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java > SpringBoot

SpringBoot2整合Redis多数据源

SpringBoot 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot2整合Redis多数据源

配置文件属性

spring:
  redis:
    database: 1
    host: 192.168.50.144
    port: 6379
    password:
    timeout: 600 #Springboot2.0 不能设置为0
    lettuce:
      pool:
 max-active: 50
 max-wait: -1
 max-idle: 8
 min-idle: 0
  redis2:
    database: 2
    host: 192.168.50.144
    port: 6379
    password:
    timeout: 600

配置类

@EnableCaching
@Configuration
public class RedisDevConfiguration {
    @Bean(name = "redisDevTemplate")
    public StringRedisTemplate redisTemplate(@Value("${spring.redis.host}") String hostName,
   @Value("${spring.redis.port}") int port, @Value("${spring.redis.password}") String password,
   @Value("${spring.redis.lettuce.pool.max-idle}") int maxIdle, @Value("${spring.redis.lettuce.pool.max-active}") int maxTotal,
   @Value("${spring.redis.database}") int index, @Value("${spring.redis.lettuce.pool.max-wait}") long maxWaitMillis,@Value("${spring.redis.lettuce.pool.min-idle}") int minIdle) {
 StringRedisTemplate temple = new StringRedisTemplate();
 temple.setConnectionFactory(
  connectionFactory(hostName, port, password, maxIdle, maxTotal, index, maxWaitMillis,minIdle));

 return temple;
    }


    @Bean(name = "redisUatTemplate")
    public StringRedisTemplate redisUatTemplate(@Value("${spring.redis2.host}") String hostName,
   @Value("${spring.redis2.port}") int port, @Value("${spring.redis2.password}") String password,
   @Value("${spring.redis.lettuce.pool.max-idle}") int maxIdle, @Value("${spring.redis.lettuce.pool.max-active}") int maxTotal,
   @Value("${spring.redis2.database}") int index, @Value("${spring.redis.lettuce.pool.max-wait}") long maxWaitMillis,@Value("${spring.redis.lettuce.pool.min-idle}") int minIdle) {
 StringRedisTemplate temple = new StringRedisTemplate();
 temple.setConnectionFactory(
  connectionFactory(hostName, port, password, maxIdle, maxTotal, index, maxWaitMillis,minIdle));

 return temple;
    }

    public RedisConnectionFactory connectionFactory(String hostName, int port, String password, int maxIdle,
   int maxTotal, int index, long maxWaitMillis,int minIdle) {
 JedisConnectionFactory jedis = new JedisConnectionFactory();
 jedis.setHostName(hostName);
 jedis.setPort(port);
 if (StringUtils.isNotEmpty(password)) {
     jedis.setPassword(password);
 }
 if (index != 0) {
     jedis.setDatabase(index);
 }
 jedis.setPoolConfig(poolCofig(maxIdle, maxTotal, maxWaitMillis,minIdle));
 // 初始化连接pool
 jedis.afterPropertiesSet();
 RedisConnectionFactory factory = jedis;

 return factory;
    }

    public JedisPoolConfig poolCofig(int maxIdle, int maxTotal, long maxWaitMillis,int minIdle) {
 JedisPoolConfig poolCofig = new JedisPoolConfig();
 poolCofig.setMaxIdle(maxIdle);
 poolCofig.setMaxTotal(maxTotal);
 poolCofig.setMaxWaitMillis(maxWaitMillis);
 poolCofig.setMinIdle(minIdle);
 return poolCofig;
    }
}

如何使用

	@Resource(name = "redisDevTemplate")
	private StringRedisTemplate template;

	@Resource(name = "redisUatTemplate")
	private StringRedisTemplate lockTemplate;

赵小胖个人博客

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号