在Database vs File(.json)中保存网站设置

时间:2013-07-09 05:44:06

标签: php database json zend-framework2

我正在开发一个网站,对于网站语言,广告布局,电子邮件的一些模板字符串消息等设置和偏好,我决定使用Json文件而不是保存到数据库。现在有什么理由我不应该使用json文件并坚持使用数据库吗?

PS。我正在使用Zend Framework 2,我肯定会在json文件上设置正确的权限(可能是644)。

PSS。这不是JSON vs DATABASE的重复。我认为我不会将敏感数据存储在json文件中。

谢天谢地。

编辑: 是的,我知道我将保存到一个文件,但我想更具体。我将保存到settings.json。一个JSON文件!

1 个答案:

答案 0 :(得分:7)

答案是肯定的,有理由反对使用文件(无论格式如何)。如果它们足以切换到数据库,那就由您决定。

我能想到:

  • 除非将json对象保存在php缓存中,否则你将在每个请求中解析文件
  • 您需要非常小心权限:644将使每个人都可以读取文件,您可能需要640以及sysadmin用户和Web服务器组拥有的文件。
  • 基于文件的系统难以扩展和查询:如果您曾向系统添加新服务器,则需要保持文件同步或单独/共享文件系统,这会给应用程序带来瓶颈;您也失去了使用数据库方便的SQL界面搜索内容的能力。

这些要点可以概括为:如果您希望将应用程序扩展到需要扩展的内容,请使用数据库。如果你不是,请使用任何适合的。