redis 连接超时 Redis command timed out

  • Post author:
  • Post category:其他


最近在项目中遇到这个问题,启动项目没有问题,但是用着用着就出现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 版权协议,转载请附上原文出处链接和本声明。