0

我正在为我的 Web 应用程序设计自己的会话处理程序,当试图控制会话应该持续的时间时,PHP 会话太有限了。

无论如何,我的第一个测试是这样的:一个 session_id 存储在一个 mysql 行和一个 cookie 上,在同一个 mysql 行上我的会话变量的其余部分。

在对服务器的每个请求中,我都会进行查询,获取这些变量并将它们放在一个数组中,以便在运行时使用必要的变量。

昨晚我在想我是否可以在登录阶段将变量写入服务器文件一次,然后只包含该文件,而不是对每个请求进行 mysql 查询。

所以,我的问题是:哪个资源消耗更少?在mysql或文件上这样做?

我知道,我知道,我已经在 stackoverflow 上阅读了几个关于这个问题的帖子,但我有一些与所有这些案例不同的东西(我希望我没有错过任何东西):

我需要跟踪自用户上次使用应用程序以来经过的时间,因此,在每次调用服务器时,我不仅请求整个数据库行,还更新同一行的时间戳。

所以,在这两种情况下,我都需要在每个请求上写信给会话......

仅供参考:整个应用程序在一台服务器上运行,因此使用文件时的多台服务器方案不适用..

4

1 回答 1

0

当它在数据库中完成时更容易使用,并且我一直在数据库中使用会话主要是为了可扩展性。

您可以使用 MySQL,因为它可以使用配置良好的 MySQL 服务器将会话存储在临时内存中,如果您可以将所有会话存储在内存中,您甚至可以使用内存表来固定它。如果您接近内存限制,则很容易切换到普通表。

我会说 MySQL 在大中型网站的性能以及自定义/选项方面胜过文件。对于较小的网站,我认为这并没有太大的区别,但是在使用文件时您会使用更多的硬盘驱动器。

于 2012-08-30T20:08:11.853 回答