解决 springBoot 中使用redis一段时间不用再操作超时问题Command timed out
环境
boot 2.0.3
bug
启动项目之后,连续使用redis的情况下没有问题,但是,一段时间不操作redis,再次操作时,就会出现超时问题Command timed out,然后这次请求就失败了,网上说啥的也有,对小白不友好很烦躁!
分析
boot 2.0.3 版本默认使用的时lettuce 连接池,这个东西有bug,所以,jedis不香吗,嗯真香
这里要注意就算你配置了,貌似也不生效,如下
redis:
host: REDIS-HOST
port: REDIS-PORT
timeout: 6000
jedis:
pool:
min-idle: 10
max-idle: 20
max-active: 50
值得注意的是,需要排除这个lettuce 的包。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<exclusions>
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
以上,就好了!