Сохранение настроек виджета: php файл vs db [установленный apc] - PullRequest
0 голосов
/ 02 апреля 2011

Что будет быстрее с точки зрения производительности и удобства использования редактирования и т. Д.

Сохранение настроек виджета в файле или сохранение настроек для него в БД.

Есть около23 настройки для виджета.

Настройки в файле будут сохранены в формате VAR и сохранены в виде файла php.

Настройки в базе данных будут сохранены как сериализированные, а затем восстановлены.Но после одного поиска они будут кэшироваться в течение примерно 5 минут в файле php в виде массива.Таким образом, в основном класс базы данных будет кэшировать результаты, а затем это будет использовано.То, что вы предлагаете, лучше использовать.

Я также хочу дать пользователю возможность редактировать виджет, поэтому, пожалуйста, дайте мне несколько ответов.Другая проблема заключалась в том, что если бы мне нужно было проверить, какие виджеты принадлежат члену в файловой системе с именами файлов linke memberid_filename, как бы я это сделал?

1 Ответ

1 голос
/ 02 апреля 2011

База данных, безусловно, правильный выбор, если вы собираетесь иметь несколько копий настроек (если, скажем, каждый пользователь на вашем сайте может настроить ее).

Сохранение переменных в файл PHP * только хорошая идея, если он не получает информацию из Интернета. Если это так, злоумышленник может экранировать переменную с помощью точки с запятой в кавычках, а затем добавить произвольные команды PHP, что, возможно, хуже, чем внедрение SQL! Упс.

Ваша предложенная настройка кеширования немного странная. Я не говорю, что это не поможет, но я не уверен, что это тоже будет. Компетентная база данных (например, Postgres) будет кэшировать ваши запросы в любом случае, заботясь об этом аспекте настройки производительности.

Способ хранения данных о праве собственности на виджет - через таблицу, назовем ее widget_owners. Каждый столбец будет содержать идентификатор пользователя, идентификатор виджета (важно, если вы хотите, чтобы вы могли отслеживать владение новыми виджетами, не делая уродливых действий с вашей базой данных, чтобы поддерживать его) и любые соответствующие привилегии.

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