no data more

线上的redis主从,采用读写分离,中间件用的predixy, 在客户端使用的时候出现报错 "no data more"(c#的redisManager)

后来排查原因,客户端底层是通过连接池与predixy建立连接,客户端的连接闲置超时时间是240s,而predixy与客户端的连接闲置超时时间是60s, 猜测可能是因为 当客户端连接redis的时候, 从连接池选一个连接,但是当操作的时候,可能时间超过了predixy设置的超时时间,predixy将这个连接关闭, 等客户端真正操作的时候, 就出现了 "no more data"的报错。后来将predixy的超时时间(clientTimeout)设置的大于客户端的超时时间,没有出现这个情况

你可能感兴趣的:(no data more)