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

Php 用于存储设置的XML或数据库表,php,mysql,xml,configuration,Php,Mysql,Xml,Configuration,我即将开始用PHP编写一个使用MySQL作为后端的站点。我首先要做的决定之一是将站点设置存储在数据库表还是XML文件中。我考虑将它们存储为键/值对,无论我使用哪个存储。这可能是最灵活、最好的方法 由于这两种方法的实现和使用都相对简单,所以我担心的是性能。哪一个更快?我应该用哪一个?为什么? PS:将设置存储在.ini文件中有多容易?可以通过PHP脚本而不是用户/系统管理员手动更改它们吗 此外,如果我将设置存储在mysql表中,系统管理员可以轻松地将该(非常小的)表缓存在RAM中。他能用XML文件

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

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

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


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

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

class configuration {
  public function get_user_configuration() {
    // return users configuration
  }
}
我认为在数据库中存储配置会更容易。因为这样配置可能会每天备份,并且可以轻松导出


缓存此配置是一个好主意。最简单的方法是在会话中缓存它。您也可以尝试memcache或APC。

在任何情况下,将其存储在DB中都是有意义的。如果需要,您仍然可以在设置更改时将其缓存到(XML)文件中,并加载该文件。因此,应用程序将永远不会向数据库查询设置。

建议:如果您有其他详细信息/问题。编辑你的帖子,不要添加评论,谢谢你的建议。这是一种新的网站…配置不是每个用户,而是整个网站的设置(如最大用户数、开放/关闭注册、接受或不接受捐赠等)。使用类访问和/或修改设置的想法非常好,谢谢。