我正在写一个全新的网站,我想确保它很容易扩展,如果我达到了必须用负载均衡器在多台机器上托管该网站的地步。
可以对网站的用户进行认证。换句话说,我需要维护一些状态信息。我的第一个反射是使用会话变量,但随后我将被限制在一台机器上。我知道有一些方法可以将会话变量存储在外部(在DB、redis、memcached中),但这是唯一的选择吗?
会话变量的替代方案是什么?Facebook和其他大型网站是如何做到这一点的?
附注:我不寻找另一个会话处理程序(DB,redis等)。我想知道是否有一种方法可以完全摆脱会话变量。
发布于 2012-02-07 22:23:07
听说过session_set_save_handler吗?它允许您使用默认的PHP处理程序(在tmp目录中写入sess_xxxxxxxxxxxx文件)之外的机制。
您可以编写自己的使用数据库的会话处理程序。这可能是一项耗时的任务;因此,您可以暂时使用默认的PHP会话处理程序,并在准备好后透明地切换到数据库。除了实现和插入您自己版本的六个会话处理函数外,您可能不必重写任何代码。
发布于 2012-02-07 22:21:51
你可以研究一下缓存,比如使用Zend cache或APC cache。
https://stackoverflow.com/questions/9177866
复制相似问题