在mysql中存储会话

Posted

技术标签:

【中文标题】在mysql中存储会话【英文标题】:Storing sessions in mysql 【发布时间】:2012-07-08 10:10:39 【问题描述】:

我听说过将会话存储在数据库中。 有什么主要优势吗?我听说标准会话不适用于集群服务器。 我正在使用 MediaTemple 进行托管,该主机是否会出现这种情况?

另外,如果我使用 session_only_cookie 并且我的用户禁用了 cookie,正常的会话会起作用吗?

【问题讨论】:

【参考方案1】:

优点是过期会话的垃圾收集更容易,如果您有大量活动会话,会话数据检索可能会更快一些,以及多个服务器之间潜在的会话存储共享,正如您所提到的。

如果启用了session.use_only_cookies,会话将不适用于禁用 cookie 的用户,但禁用它会引入通过复制 URL 泄漏会话 ID 的风险,因此通常不建议这样做;大多数禁用 cookie 的人也意识到后果,或者很快意识到它们。

【讨论】:

谢谢。我只是希望有人能对这个话题有所了解。我一直在阅读有关该主题的大量内容并开始感到困惑。

以上是关于在mysql中存储会话的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL存储引擎InnoDB(三十五):临时表空间

哪个 MySQL 数据库引擎更适合存储会话和会话数据:MyISAM 还是 InnoDB?

什么是用于临时/旋转存储的最佳/最快 MySQL 表模式,例如会话管理?

TommEE 会话持久存储不起作用

会话重载 - PHP 会话中存储的“数据过多”是啥?

将数据库连接存储在会话变量中[重复]