redis 服务端安装在Unix系统上默认配置,使用开源c#客户端连接池获取连接进行读写。一直运行正常。
后服务端修改了超时时间,程序不定时抛出no more data异常,
是因为服务端把开源客户端的socket连接断掉了,客户端此时在去用这个client去读、写数据,就会抛出异常,因为连接已经被强制断开
源码中发现有设置IdleTimeOutSecs参数,默认值为240s,如果服务端设置超时时间小于240s
连接池在上一秒(毫秒级的)拿到的可用连接,可能在去读取的时候就已经被服务端断开了。