最近在项目中遇到这个问题,启动项目没有问题,但是用着用着就出现redis连接超时,而且这个问题在使用了Kubernetes后,显得尤为突出。估计很多人也遇到了,排查思路如下:
1.检查配置文件链接配置,修改配置
2.redis服务问题
3.网络问题
后来还是会有这个问题:
在检查redis服务没问题后,最后发现是驱动的问题,我们引入了spring-boot-starter-data-redis包,这个包会默认使用 lettuce ,这个问题就lettuce引起的,我们只需要把io.lettuce包移除,换成jedis就可以了
gradle:
compile (group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: '2.2.6.RELEASE'){
exclude(group:"io.lettuce", module:"lettuce-core") // 移除lettuce
}
// 换成jedis
compile group: 'redis.clients', name: 'jedis', version: '3.1.0'
maven:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.2.6.RELEASE</version>
<exclusions>
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.1.0</version>
</dependency>
这里有个地方需要注意,就是jedis的版本问题 最好使用springboot官方推荐的版本,链接
https://docs.spring.io/spring-boot/docs/2.2.6.RELEASE/reference/html/appendix-dependency-versions.html#appendix-dependency-versions
如果你发现换了之后启动不了,这个时候去检查下版本,或者看看自己的配置文件。
版权声明:本文为zh6943原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。