【问题标题】:CMS: store custom pages as files or in MySQL database?CMS:将自定义页面存储为文件还是存储在 MySQL 数据库中?
【发布时间】:2011-03-24 00:06:19
【问题描述】:

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

内容都是 HTML 代码,至少现在是这样。

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

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

对于正确的做法是什么,或者至少你会做什么方面的任何帮助,我将不胜感激。

【问题讨论】:

  • MySQL 非常快。不过,CMS 通常不会将整个页面存储在数据库中。它们存储页面 content,这意味着模板和 CSS 等内容仍然存储为文件。当用户想要查看页面时,PHP 将不同的部分拼接在一起。在您发现性能问题之前,您必须每天通过 MySQL 推送数十万或数百万次查看(前提是您有不错的设计和基本优化)。

标签: php content-management-system


【解决方案1】:

最好将内容存储在数据库中。请注意,您存储的是内容,而不是整个 HTML 页面(否则,您并没有真正构建 content 管理系统)。

如果您使用纯文件实现它,那么您必须发明一种文件格式来存储结构化数据,您必须弄清楚如何使其快速,担心数据完整性和竞争条件等等.有了数据库,您就可以为您完成所有这些工作,而且做得又好又快。

在每个页面视图上进行数据库查询是很正常的;实际上,Web 应用程序在每个页面视图上执行超过 5 到 30 次数据库查询是很常见的,我猜 stackoverflow.com 可能适合这个范围。

MySQL 足够快。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    相关资源
    最近更新 更多