springboot 同时配置单机,哨兵(集群)两个数据源 使用lettuce连接池

本文介绍了如何在Springboot中同时配置单机和哨兵集群两种Redis数据源,引用了相关配置的POM依赖和YML设置,并展示了Redis配置类的实现。在实际使用中遇到了序列化问题,当存储和读取String类型数据时,由于redisTemplate默认序列化方式导致类型转换异常,解决方案是对redisTemplate进行序列化方式的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果是配置多个集群或者只有一个单机的Redis数据源可以参考:

https://blog.youkuaiyun.com/lonely_bin/article/details/100137626

如果配置单机+哨兵两种数据源可以用下方代码:

1、springboot关于redis的启动pom要引入,这个都是一样的

2、yml配置文件:

spring:
  redis:
    database: 2
    password: xx
    sentinel:
      master: mymaster
      # 逗号分隔, 逗号前后不要有空格
      nodes: 172.16.116.***:26381,172.16.116.###:26382,172.16.116.XXX:26383
    lettuce:
      pool:
        # 最大活跃链接数 默认8
        max-active: 5
        # 最大空闲连接数 默认8
        max-idle: 10
        # 最小空闲连接数 默认0
        min-idle: 0
  secondaryRedis:
    host: 172.16.100.xx
    port: 6379
    password: xxx

3、Redis配置类

import com.alibaba.fastjson.support.spring.FastJsonRedisSerializer;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
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.RedisConnectionFactory;
imp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值