项目中因为不是使用springRedis的配置,而是采用自定义的配置redis.pool,而且需要进行单机和集群的切换,中间出现了一些jar包冲突的问题,导致部分功能不能使用,还是记录一下,这个找了好久
1、配置文件如下,可能和现行的配置不同,使用model进行区分,当然代码有判断
redis:
pool:
maxTotal: 120 # 最大连接数
maxIdle: 30 # 最大空闲实例的个数
minIdle: 3 #最小空闲实例个数
numTestsPerEvictionRun: 1024 # 每个逐出器运行期间要检查的最大对象数
timeBetweenEvictionRunsMillis: 30000 # 释放扫描的扫描间隔
minEvictableIdleTimeMillis: 1800000 # 连接的最小空闲时间
softMinEvictableIdleTimeMillis: 10000 # 连接控歘按时间多久后释放,当空闲时间>该值且空闲连接>最大空闲连接数时直接释放
maxWaitMillis: 1500 # 获得链接时的最大等待毫秒数,小于0:阻塞不确定时间,默认-1
testOnBorrow: true # 在获得链接的时候检查有效性,默认false
testWhileIdle: true # 在空闲时检查有效性,默认false
blockWhenExhausted: false # 连接耗尽时是否阻塞,false报异常,true阻塞超时,默认true
timeOut: 10000 # jedis超时时间
maxRedirects: 5 # RedisClusterConfiguration配置
nodeCluters: 192.168.98.105:7000,192.168.98.105:7001,192.168.98.105:7002,192.168.98.105:7003,192.168.98.105:7004,192.168.98.105:7005
hostName: localhost
password: 43b6f9b82c71c13063a523c0dcbc6db8fc0ac8a0
port: 6379
model: 3 #redis的模式1 表示单机,2 表示sentinel, 3表示cluster
2、pom文件
原来使用的pom是1.4.7,但是这个版本好像有点低
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
这个版本在jedisConnectionFactory设置密码处好像不太兼容
因此需要处理jar的版本冲突问题(敲黑板啦`````这个才是重点),需要排除依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<exclusions>
<exclusion>
<groupId>redis.clients</groupId&