close掉redis,但是查看tcp连接,还会保持一定数量的tcp 连接 状态time_out。虽然客户端关闭了连接,但是系统依然会保持这个tcp连接一段时间,时间是msl的2倍,通常是1分钟。使用命令 cat /proc/sys/net/ipv4/tcp_fin_timeout可查看系统保持时间.
MSL 是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。
2MSL即两倍的MSL,TCP的TIME_WAIT状态也称为2MSL等待状态
可尝试对redis的连接类做了修改,使用单例,将连接资源存入一个static变量数组中,注意获取连接资源时,需要加上ping,判断该连接资源是否可用。防止redis服务端主动断开连接或者超时,使该连接失效。
暂时未做测试,先保存一下,有时间测试