我是Memcached集群的新手
如果我有一个使用memcache的PHP Web应用程序 – 它如何执行其哈希并决定检查特定值的节点以避免必须全部检查它们.
额外奖励:如何以避免重建所有哈希值的方式轻松添加节点.
Memcache客户端通过散列键值来了解要检查的节点.默认情况下,它使用密钥的crc32值.在旧式中,你会做类似的事情
serverId = crc32(key) % servers.size
这意味着当您添加新服务器节点时,大多数内容将重新映射到不同的节点.
对于您的奖励,请使用新样式,其中每个节点覆盖由随机选择的服务器编号而不是每个Nth值确定的crc值的线性范围.这称为一致哈希.
> PHP configuration for it
> Article describing consistent hashing
> Another article describing consistent hashing