最近在学习一个spring boot项目,其中有用到redis,正好有个腾讯云服务器闲着,练习这个项目的时候,就用云服务器使用docker部署了mysql和redis。
因为是学习项目,所以边学边操作,很多时候会比较长时间无操作,这种情况时,再操作,就会发现连接被关闭或者重置。
当报了这个异常以后,立刻再操作就可以了,因为lettuce尝试了重连,但是本次操作失败了,我也想过可以用try catch再操作一次,但是当前操作失败也要等待几秒延迟,这也是不能接受的。
查了不少资料,也问了AI,关于lettuce的心跳检测和保活配置都是假的,复制代码到IDEA中就会发现,压根没有AI中回答的配置方法。
当然,通过定时任务来操作redis保活,和换用jedis这样的方式都是查资料可查的内容。这个问题是想知道是否有不知道的配置和用法等可以解决这个问题。
异常信息中比较关键的如下:
org.springframework.data.redis.RedisSystemException: Redis exception
Caused by: io.lettuce.core.RedisException: java.net.SocketException: Connection reset
Caused by: java.net.SocketException: Connection reset
另:现在云服务器都这么狗的吗,长连接自动给断?