我有一个由 10 个内存缓存组成的集群,使用一致的哈希。memcached_get()
当在不可用的服务器上搜索传递给的密钥时,我只会得到MEMCACHED_SERVER_MARKED_DEAD
响应(返回值)。
在这种情况下,我希望密钥应该重新分配到下一个可用服务器,并且我应该NOTFOUND
从下一个memcached_get()
调用中获取。但是我仍然得到MEMCACHED_SERVER_MARKED_DEAD
,所以我无法设置一个新值。
我发现我可以打电话memcached_behavior_set(..., MEMCACHED_BEHAVIOR_DISTRIBUTION)
。这会导致哈希重新分配,然后它可以按我的意愿工作。但是,我认为这不是一个好方法。是吗?