我正在使用 couchbase 人员提供的 spymemcached 客户端库 v2.8.0
。安装的 memcached 服务器版本为 1.4.13
。
memcached 的配置非常基本> -m 64 -p 11211 -u memcache -l 127.0.0.1
。
我能够使用客户端库正确获取、设置、删除请求。但是通过我的日志,我注意到来自 spymemcached 库的警告消息是这样的 -
WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for ...
我不确定为什么要尝试重定向到集群中不存在的另一个节点。
我正在使用以下代码连接到缓存客户端 -
String address = 127.0.0.1:11211;
new MemcachedClient(new ConnectionFactoryBuilder().setDaemon(true).build(), AddrUtil.getAddresses(address));
感谢任何帮助。
最佳答案
默认情况下,如果主节点不可用,Spymemcached 会将操作重新分配到不同的节点。如果您有另一个节点,则会发生这种情况,但由于只有一个节点,因此重新分配与在主节点上重试操作相同。在您的情况下,此消息有点令人困惑。如果您不想重新分配操作,则可以执行以下操作。
String address = 127.0.0.1:11211;
new MemcachedClient(new ConnectionFactoryBuilder().setDaemon(true).setFailureMode(FailureMode.RETRY).build(), AddrUtil.getAddresses(address));
如果听起来您的客户端可能已失去与服务器的连接并在某个时候重新连接。
关于java - HOWTO 在使用 Spymemcached 客户端库用于 memcached 服务器时解决 "restributing to another node"的警告消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10620726/