CMS: хранить пользовательские страницы в виде файлов или в базе данных MySQL? - PullRequest
8 голосов
/ 02 августа 2010

Я создаю пользовательскую CMS на PHP (написанную с нуля) и хочу знать, следует ли мне сохранять созданные пользователем страницы в виде файлов или в базе данных MySQL.

Контент представляет собой весь HTML-код, по крайней мере, на данный момент.

Я не могу решить, что делать, поскольку запись файлов с помощью php кажется угрозой безопасности, а получение содержимого файла из MySQL при каждой загрузке страницы кажется неправильным (и может быть проблемой с производительностью?).

У меня также есть собственные страницы, написанные мной для блога и т. Д. Они содержат код PHP, но пользователь не должен изменять их. В настоящее время я планирую хранить их как файлы php, поскольку их проще загружать и редактировать, но они также могут храниться в MySQL.

Я был бы очень признателен за любую помощь в том, что нужно сделать, или, по крайней мере, что бы вы сделали.

1 Ответ

11 голосов
/ 02 августа 2010

Вам лучше хранить контент в базе данных.Обратите внимание, что вы храните контент, а не всю HTML-страницу (в противном случае вы на самом деле не создаете систему управления контентом ).

Если бы вы реализовали ее с использованием простых файлов, то у васЧтобы придумать формат файла для хранения ваших структурированных данных, вам нужно будет выяснить, как сделать это быстро, заботиться о целостности данных и условиях гонки и многое другое.С базой данных вы уже сделали все это за вас, и все сделано хорошо и быстро.

Совершенно нормально выполнять запрос к базе данных при каждом просмотре страницы;действительно, для веб-приложений характерно выполнение более 5 и до 30 запросов к базе данных на каждом просмотре страницы, и я предполагаю, что stackoverflow.com, вероятно, вписался бы в этот диапазон.

MySQL достаточно быстр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...