【发布时间】:2011-06-01 19:45:31
【问题描述】:
我有两个负载平衡的 Web 服务器,并且我正在使用内存缓存会话保存处理程序,其保存路径指向两个内存缓存服务器。它配置了会话冗余设置为两个(memcache 服务器的数量)。所以 PHP 正在将会话数据写入两台 memcache 服务器,当我关闭其中一台服务器时,一切似乎都正常,因为会话数据已写入两台 memcache 服务器。
当我使用该应用程序一段时间后,只启动了一个 memcache 服务器,然后再启动另一个 memcache 服务器,问题似乎发生了。我的理论是 memcache 服务器重新启动,然后 PHP 开始向它询问不存在的会话数据,因为它是在该服务器关闭时写入另一台服务器的。这个理论有什么优点吗? PHP是否应该向两台服务器询问会话数据,也许还有其他问题?
编辑: 我使用的是 2.2.6 版的 PECL 内存缓存包。
【问题讨论】: