php – 使用memcache作为会话存储?
我目前有一个巨大的问题.两天前,我的网站在一台服务器上运行的太多了,所以我再购买了两台,并将它们集群(rsync和负载平衡). 然后我开始注意到一个用户会打到服务器1,然后在下一个请求命中server3,但是他们的会话仍然在server1而不是server3,并且他们不再登录. 我建议使用会话商店的memcache. 我的脚本已经使用$_SESSION. >我们可以安装memcache并启用会话处理程序支持,并设置session.save_handler =“memcache”来强制php使用memcache? 我正在使用codeiginiter框架 您将需要设置内存缓存以在其中一台服务器上运行,并使所有服务器对会话使用相同的memcache实例.否则,如果他们每个运行自己的memcache实例,你将有与以前相同的问题.除了相应地配置memcache,并告诉PHP将其用作会话处理程序,您不必对代码进行任何更改. 为了澄清我在这里给出的建议,如果将所有三个服务器组合到一个池中,只要每个PHP实例以相同的顺序引用这些服务器,就不会有任何问题. memcache使用client side hashing,所以您将保证在相同的服务器上读/写相同的密钥.当然,如果您以任何方式更改该列表,则会话将无效. memcache开发人员实际上甚至不建议您使用memcache存储会话数据,因为它不是持久的,因此如果您必须重新启动内存缓存(或发生某些事情),则所有用户都将被注销. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |