【问题标题】:PHP multi-server sessionsPHP 多服务器会话
【发布时间】:2013-01-04 00:21:47
【问题描述】:

我有一个 PHP 系统,如果需要,我想将其移植到多个服务器上。目前我只是以 PHP 的默认方式存储用户的当前会话信息(假设在内存中)。我能否获得一个示例,说明我需要在我的 MySQL 数据库中的表中放入什么以及一些实现示例?

【问题讨论】:

  • 知道有什么具体的功能可以用来解决这个问题吗?
  • 我在上面超链接的那个是一个好的开始 - 试试看?

标签: php mysql amazon-ec2 multiserver


【解决方案1】:

默认会话存储系统实际上是在文件系统上。一些系统缓存可用于从内存中提取它。

现在,为了进行多服务器设置,您的服务器基本上不需要相互共享任何内容。为此,会话需要存储在创建和访问它们的服务器之外。

在数据库中存储会话是一种选择,但它会增加数据库的负载,并且在某些情况下您必须小心锁定。默认会话处理具有锁定,它一次只允许一个线程访问给定会话,数据库处理程序可能不会这样做。如果您只是读取会话数据,这可能不会成为问题,但如果您要更改它,则可能会出现问题。

memcached 扩展允许将会话数据复制到 memcached 节点。我更喜欢这条路线,因为它允许您将会话保留在内存中并避免增加额外的数据库负载(这通常更难以扩展)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    相关资源
    最近更新 更多