Memcache 客户端库负责选择正确的服务器来设置/获取数据。这就是为什么当您有多个 Memcache 服务器时,您希望使用 addServer 而不是 connect。随后的 set/get 将根据需要按需连接到适当的实例。当您关闭或脚本终止时,将断开连接到所有已连接服务器的连接。
通过 addServer 添加到您的 Memcache 对象的 Memcache 实例应在您的应用程序中以相同的顺序添加,以确保为同一键选择相同的服务器。
客户端库可以实现为对键运行 CRC 并对列表中的实例数量进行模运算,以便从列表中选择一个实例进行 set/get。这确保了数据在节点之间很好地分布。
只要您以一致的方式使用 addServer 添加 Memcache 实例列表,所有这些操作都会在 PHP 代码中为您顺利完成。