我是靠谱客的博主 俭朴板栗,最近开发中收集的这篇文章主要介绍SpringBoot整合Redis指向多数据库或者数据源,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

        • 记录一次SpringBoot redis多数据源问题,指定数据库的问题

记录一次SpringBoot redis多数据源问题,指定数据库的问题

  1. SpirngBoot 2.0+的redis默认使用连接工程LettuceConnectionFactory,所以直接先创建一个自定义的LettuceConnectionFactory。
  2. 再创建一个标注了@Primary注解的默认链接工厂
  3. 最后再默认实现即可,贴出一下代码
@Configuration
@EnableConfigurationProperties(RedisProperties.class)
public class RedisBeanConfig {
@Autowired
private RedisProperties redisProperties;
@Bean("redisUIMainConnection")
public LettuceConnectionFactory redisUIMainConnection() {
RedisStandaloneConfiguration server = new RedisStandaloneConfiguration();
server.setHostName(redisProperties.getHost());
server.setDatabase(0); // 指定数据库!
server.setPort(redisProperties.getPort());
server.setUsername(redisProperties.getUsername());
server.setPassword(redisProperties.getPassword());
return new LettuceConnectionFactory(server);
}
@Bean
@Primary
public LettuceConnectionFactory mainConnection() { // 默认为自己的数据库
RedisStandaloneConfiguration server = new RedisStandaloneConfiguration();
server.setHostName(redisProperties.getHost());
server.setDatabase(redisProperties.getDatabase()); // 指定数据库!
server.setPort(redisProperties.getPort());
server.setUsername(redisProperties.getUsername());
server.setPassword(redisProperties.getPassword());
return new LettuceConnectionFactory(server);
}
@Bean("redisTemplateForUI") // 默认指向ui主服务器
public RedisTemplate<Object, Object> redisTemplate() {
RedisTemplate<Object, Object> template = new RedisTemplate<>(); //只能对字符串的键值操作
template.setConnectionFactory(redisUIMainConnection());
return template;
}
@Primary
@Bean("redisTemplate") //
public RedisTemplate<Object, Object> redisTemplate2(
RedisConnectionFactory redisConnectionFactory)
throws UnknownHostException {
RedisTemplate<Object, Object> template = new RedisTemplate<Object, Object>();
template.setConnectionFactory(redisConnectionFactory);
return template;
}
@Bean("redisTemplateForLong")
public RedisTemplate<String, Long> redisTemplate(
RedisConnectionFactory redisConnectionFactory)
throws UnknownHostException {
RedisTemplate<String, Long> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
template.setDefaultSerializer(new FastJsonRedisSerializer<>(Long.class));
return template;
}
//
@Bean
//
public RedissonClient redissonClient() {
//
Config config = new Config();
//
config.useClusterServers()
//
.setScanInterval(2000)
//
.addNodeAddress("redis://10.0.29.30:6379", "redis://10.0.29.95:6379")
//
.addNodeAddress("redis://10.0.29.205:6379");
//
//
RedissonClient redisson = Redisson.create(config);
//
//
return redisson;
//
}
}

最后

以上就是俭朴板栗为你收集整理的SpringBoot整合Redis指向多数据库或者数据源的全部内容,希望文章能够帮你解决SpringBoot整合Redis指向多数据库或者数据源所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(31)

评论列表共有 0 条评论

立即
投稿
返回
顶部