SpringBoot配置多个Redis集群数据源+自定义缓存注解实例

今天找了半天没找到线程的,网上都是多个Redis示例。最还还是自己想办法实现了
两个Redis集群作为数据源 + 自定义缓存注解

不会做的是否发现好tm难。都不知道怎么动手。做完之后,发现原理其实特别简单。很容易就能实现。分两部分原理和示例代码部分

原理解析:

  1. 配置两个数据源,生成两个redisTemplate (这个配置是参考我之前配置单个集群的时候,从人家的data-redis里面复制出来的,也可能是看了那篇博客。我不清楚了)
  2. 分别操作这两个tempLate.
  3. 我这里是利用AOP+注解的方式。拦截所有配置了这个注解的方法。然后先通过template请求Redis 有结果直接返回。没有就查库,然后将结果放到Redis。再返回
  4. 我这里利用两个库的用途是相同场景不同城市使用不同的Redis数据源。 有的场景是不同业务使用不同数据源。那样应该实现起来更简单

代码示例:

  1. 需要的依赖
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
  1. 注意启动类要关掉redis的自动配置
    @SpringBootApplication(exclude = {RedisAutoConfiguration.class, RedisReactiveAutoConfiguration.class})
  2. 主配置类
@Configuration
@EnableCaching
public class RedisConfig2 {
   
    @Autowired
    RedisClusterNode redisClusterNode;
    @Bean(name = "jtClusterRedisConnectionFactory")
    public LettuceConnectionFactory getJtRedisConnectionFactory() {
   
        return new LettuceConnectionFactory(new RedisClusterConfiguration(redisClusterNode.getJtNodes()));
    }
    @Bean(name = "szClusterRedisConnectionFactory")
    public LettuceConnectionFactory getSzRedisConnectionFactory() {
   
        return new LettuceConnectionFactory(new RedisClusterConfiguration(redisClusterNode.getSzNodes()));
    }
    @Bean(name = "redisTemplate")
    @Qualifier("jtClusterRedisConnectionFactory")
    public RedisTemplate redisTemplate(LettuceConnectionFactory jtClusterRedisConnectionFactory){
   
        return getRedisTemplate(jtClusterRedisConnectionFactory);
    }
    @Bean(name = "szRedisTemplate")
    @Quali
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值