由于网络波动,当应用程序尝试执行某个操作(get、set、remove)时,我会得到TimeoutException。即使网络开始工作,TimeoutException仍会继续。
我捕获了TimeoutException,如果抛出的时间超过了配置的阈值,则关闭客户端并重新建立连接。这在负载较少时有效,但在负载较高时,TimeoutException会继续。
我使用的是XMemcached client 1.3.3
对如何处理这种情况有什么想法吗?
发布于 2011-09-13 02:13:31
你使用memcached二进制协议了吗?
xmemcached 1.3.3有一个二进制协议解码的问题,它可能导致连接以一种不可预测的方式关闭。
您可以尝试使用文本协议或升级到xmemcached 1.3.4
https://stackoverflow.com/questions/7042396
复制相似问题