使用memcached /一致性散列处理过时的数据

Rya*_*yan 6 memcached high-availability spymemcached consistent-hashing

假设我在开头有两个memcached节点(节点A,B),当我添加一个新节点C时,一部分键被重新映射,并且由于一致的散列只有其中一些.

假设最初在服务器A处使用键" foo " 的值现在正被映射到服务器C.

当我最终删除节点C时,密钥应该再次映射到节点A,但此时节点A只包含过时数据.

那么,刷新数据是解决这个问题的唯一方法吗?

and*_*oni 2

我认为你对陈旧数据唯一要做的就是……什么都不做!您知道,如果引入新的服务器,部分缓存将失效。就这样!当那一刻到来时,让 memcached 为您清除陈旧数据!

另一件事是你无法自己删除过时的对象,因为你不知道哪个服务器存储该对象(感谢一致的哈希算法)。

希望能回答你的问题。