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

时间:2011-10-14 17:01:57

标签: php mysql xml configuration

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

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

PS:将设置存储在.ini文件中有多容易?它们可以通过PHP脚本轻松更改,而不是由用户/ sysadmin手动更改吗?

另外,如果我将设置存储在mysql表中,则sysadmin可以轻松地将该(非常小的)表缓存在RAM中。他可以用XML文件做到吗?

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:1)

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