php - 用于存储设置的 XML 或数据库表

标签 php mysql xml configuration

我正准备开始使用 PHP 编写一个站点,使用 MySQL 作为后端。我必须做出的首要决定之一是将站点设置存储在数据库表中还是 XML 文件中。我考虑过将它们存储为键/值对,无论我使用哪种存储方式。这可能是最灵活和最好的方法。

由于这两种方式的实现和使用都相对简单,我担心的是性能。哪个更快?我应该使用哪一个?为什么?

PS:将设置存储在 .ini 文件中有多容易?是否可以通过 PHP 脚本而不是由用户/系统管理员手动更改它们?

此外,如果我将设置存储在 mysql 表中,系统管理员可以轻松地将那个(非常小的)表缓存在 RAM 中。他可以用 XML 文件做到这一点吗?

最佳答案

我假设配置是针对每个用户的。 首先,我建议您编写一个将访问配置的包装类。这样你就只能在一个类中而不是在所有代码中更改配置的核心。

class configuration {
  public function get_user_configuration() {
    // return users configuration
  }
}

我认为将配置存储在数据库中会更容易。因为这样配置可能会每天备份并且可以轻松导出。

缓存此配置是个好主意。最简单的方法是将其缓存在 session 中。您也可以尝试使用内存缓存或 APC。

关于php - 用于存储设置的 XML 或数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7771040/

相关文章:

具有 Entity Framework 的 SQL Server xml 列 - 如何保留无关紧要的空格

php - 为 youtube 视频的图像添加时间戳

php - Yii2:如何缓存 ActiveRecord 关系所做的查询

java - 使用 StaX 和 DTD 验证标记

mysql - 我可以设置一个从多个其他 RDS 主实例进行复制的 RDS 实例吗?

选择带有连接或子查询限制的语句

尝试解析 XML 文件时 Java 内存不足

php - SOAP 错误 : Parsing WSDL: Couldn't load from 'website ' failed to load external entity

php - 正则表达式:如何匹配不以特定字符结尾的单词

java - 删除通过 Java 连接到 MySQL 时的输出消息