php - 在数据库中存储 PHP session 数据的最佳实践是什么?

标签 php mysql database session

我开发了一个 Web 应用程序,它使用由 Web 主机(在地面上)托管的 Web 服务器和数据库以及在 Amazon Web Services EC2 上运行的服务器。两个服务器都可能在 session 期间由用户使用,并且都需要知道有关用户的一些 session 信息。我不想发布两台服务器都需要的信息,因为我不希望它对浏览器/Firebug 等可见。所以我需要我的 session 数据在服务器之间持久保存。我认为这意味着最好的选择是将我需要的所有/部分数据存储在数据库中,而不是存储在 session 中。最简单的做法似乎是保留 session ,但在服务器之间发布 session_id,并将其用作从数据库中的“user_session_data”表中查找所需数据的键。

我看过 Tony Marston 的文章“Saving PHP Session Data to a database”- 我应该使用这个还是一个包含我需要的 session 数据和 session_id 作为键的表就足够了?创建我自己的表和一组用于在数据库中存储我需要的数据的方法有什么缺点?

最佳答案

如果 EC2 和数据库服务器之间的传输速度和响应时间足够好,我认为按照描述存储 session 数据并在将用户转移到其他服务器时传递 session_id 没有问题。

--

将 session 数据存储在数据库中是很常见的做法。 “在 session 中存储数据”并不意味着任何实际的存储方法——在磁盘上创建文件只是 PHP 的默认设置,因为它不需要任何设置。

关于php - 在数据库中存储 PHP session 数据的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2757392/

相关文章:

php - MySQL localhost/127.0.0.1 问题

php - 从多个表中获取每个用户的最后记录时出现 SQL 语法错误,也没有得到输出

php - 如何检查目录中的音频文件与数据库中存储的文件名是否匹配

php - 如何从 MySQL 数据库中获取特定数据到我的 PHP 表中?

mysql - 如何从 'Case When' 条件开始计数

mysql - 如何编辑DB文件并在其表之一中插入多条记录?

mysql - 更新 total_counts 列与 SELECT COUNT(*) 查询

database - 树结构数据的图数据库或关系数据库

php - 获取IMAP消息正文字符集(PHP-IMAP扩展)

php - 计算数据库字段上的代码行数