问题:
SkyWalkling中显示有一个接口用时达到四百多好眠,点击去显示出现了几十次redis连接,自己检查了代码好几遍,在for循环里就是找不到有redis连接。
思路:
既然SkyWalkling显示有连接,并且接口确实慢,就相信SkyWalkling的判断。既然找不到redis连接的代码,那么如果能查看每次redis的请求日志就好了,通过参数能判断请求redis的地方。
解决办法:
远程连接服务器redis,然后输入命令
monitor
然后执行慢接口,马上redis打出一片日志,果然有几十个连接,如下图
一直重复获取登录token信息。
一拍脑袋,马上知道问题在哪里了。原来是代码找错地方了,确实有for循环里取redis缓存的情况。改成在for循环外取就好了。