redis忘记关闭连接,前台请求出现pending,记一次找bug的经历

再写一个项目的时候,配置了redis作为中间缓存来减少数据库的压力,可是在测试的时候总是突然出现发送到后台的请求一直没有返回,如图所示。
redis忘记关闭连接,前台请求出现pending,记一次找bug的经历
redis忘记关闭连接,前台请求出现pending,记一次找bug的经历
而且出现的情况是随机的,排查bug就更加费劲了,在后台注释掉redis的代码后发现此问题不再出现,可以确定是后台redis的某个部分阻塞了,然后为了搞清楚bug出现的条件进行了多次测试,突然发现当需要经过redis的请求发送次数到第11次的时候,bug就出现了,并且卡住的时间是一样的,当到2000ms的时候就返回失败的消息。突然想到了redis的配置文件,发现了重要的线索。
redis忘记关闭连接,前台请求出现pending,记一次找bug的经历
然后发现主要原因是因为redis的连接数是10个,当10次之后redis连接就没了,所以问题就出在我忘记将每个服务打开的redis关闭了,加上关闭redis连接的代码后问题解决。记录一下!