【问题标题】:does Apache caches the SESSION data in memory when I use the file handler for session?当我使用文件处理程序进行会话时,Apache 是否会将 SESSION 数据缓存在内存中?
【发布时间】:2010-02-25 20:38:13
【问题描述】:

在 PHP 中,当我使用文件处理程序进行会话存储时,Apache 是否将 SESSION 缓存在内存中?
如果没有,在内存表(mysql)上使用 db 存储引擎会是一个好主意吗?

【问题讨论】:

    标签: php performance apache session caching


    【解决方案1】:

    Apache 本身不会将会话文件“缓存”到内存中:Apache 与会话无关:它纯粹与 PHP 相关,与 Apache 无关。

    PHP 本身也不会将会话文件“缓存”到内存中:它会将其写入磁盘(并且,为了安全起见,操作系统可能真的将该文件写入磁盘)


    使用数据库可能有助于磁盘访问;但这意味着与另一台服务器建立网络连接,这将使 MySQL 工作......不一定那么好。

    相反,我宁愿使用memcached 来存储我的会话;它是一个网络守护进程(在集群中工作,这意味着您可以拥有多台带有 memcached 服务器的机器——如果您在一台服务器上没有足够的内存,这很有用),它将数据存储在内存中。 p>

    memcached 经常用于存储会话数据——我目前在一个项目中使用 memcached 来处理 (除其他外)

    请参阅 PHP 手册的 memcache section:如果您想与 memcached 通信,则需要安装 PHP 扩展。

    【讨论】:

    • feweeeew - 大约 10 年前。今天我主要使用无状态的 Lambda 函数,并且带有会话的瘦层缓存在无服务器 Redis (ElastiCache) 中
    猜你喜欢
    • 2013-08-28
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多