java – Spymemcached和连接失败
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Spymemcached和连接失败,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1223字,纯文字阅读大概需要2分钟。
内容图文
![java – Spymemcached和连接失败](/upload/InfoBanner/zyjiaocheng/827/ee42ec9227d0437a9b23ebd185a5e7e8.jpg)
我虽然Spymemcached确实尝试在此连接丢失时重新建立与服务器的连接.
但我看到了不同的东西;想知道我误解了什么或者我做错了什么.以下是一些示例代码:
MemcachedClient c=new MemcachedClient(AddrUtil.getAddresses("server:11211"));
while(true)
try {
System.out.println(c.get("hatsts"));
Thread.sleep(10000);
} catch(Exception e) {
e.printStackTrace();
}
它最初运行没有问题.然后我拉网络插头.随后,客户端检测到网络故障并抛出以下异常:
net.spy.memcached.OperationTimeoutException: Timeout waiting for value
但是,当我重新建立网络时,客户端无法恢复并继续抛出异常;甚至在5分钟后.我试过SpyMemcached 2.10.6和2.9.0.
我错过了什么?
解决方法:
这里的问题是,因为您拉了网络电缆,客户端上的tcp套接字仍然认为连接有效. tcp keepalive因操作系统而异,可能高达30分钟.因此,应用程序(在本例中为Spymemcached)不会通知tcp层连接不再有效,因此Spymemcached不会尝试重新连接.
Spymemcached检测到这种情况的方法是计算连续操作超时的数量.我最后一次检查默认值是99.一旦这多个操作超时,Spymemcached将重新连接.如果要将其设置为其他值,可以在ConnectionFactory中更改此值.有一个名为getContinuousTimeout()的函数,默认情况下,Spymemcached从中获取99.您可以使用ConnectionFactoryBuilder构建自己的ConnectionFactory.
希望这是足够的信息来回答你的问题,让你朝着正确的方向前进.如果不让我知道,我可以添加更多细节.
内容总结
以上是互联网集市为您收集整理的java – Spymemcached和连接失败全部内容,希望文章能够帮你解决java – Spymemcached和连接失败所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。