CMS:将自定义页面存储为文件还是存储在MySQL数据库中?

时间:2010-08-02 01:25:46

标签: php content-management-system

我正在用PHP创建一个自定义CMS(从头开始编写),并想知道我是否应该将用户创建的页面存储为文件或存储在MySQL数据库中。

内容是所有HTML代码,至少目前是这样。

我无法决定使用php编写文件似乎存在安全风险,并且在每次页面加载时从MySQL检索文件内容都感觉不对(并且可能是性能问题?)。

我也有自己编写的博客等自定义页面。这些页面包含PHP代码,但不需要用户修改。目前我打算将这些文件存储为php文件,因为它更容易上传和编辑它们,但它们也可以存储在MySQL中。

我非常感谢任何正确的事情,或者至少你会做什么的任何帮助。

1 个答案:

答案 0 :(得分:11)

最好在数据库中存储内容。请注意,您存储内容,而不是整个HTML页面(否则,您实际上并未构建内容管理系统)。

如果您使用普通文件实现它,那么您必须发明一种用于存储结构化数据的文件格式,您必须弄清楚如何快速实现,担心数据完整性和竞争条件等等。使用数据库,您可以完成所有这些工作,并且完成得很快。

在每个页面视图上执行数据库查询是很正常的;事实上,网页应用程序通常会在每个页面视图上执行超过5次和最多30次数据库查询,我猜想stackoverflow.com可能会适合该范围。

MySQL足够快。