Динамическая навигация по сайту с использованием Zend Framework - XML ​​против MySQL - PullRequest
0 голосов
/ 22 июля 2010

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

В моей административной части я создам форму для ввода URI, чтобы администраторыможет создавать ссылки и определять родительские ссылки и их порядок относительно других ссылок в родительском.Я буду делать это с базой данных MySQL.Здесь возникает вопрос:

Должен ли я пойти с -

  • Динамическое меню, созданное из запроса MySQL, которое затем будет преобразовано в массив и передано в Zend_Navigation

    или

  • Динамическое меню, созданное из файла XML, которое, в свою очередь, будет создано во время вставки MySQL и, следовательно, будет статическим файлом, который будет легче кэшироваться.

Так что, в основном, это вопрос скорости и способности кеширования.Какой из них будет быстрее?

1 Ответ

1 голос
/ 22 июля 2010

XML профи:

  • файл доступен, когда БД находится в автономном режиме

Плюсы БД:

  • упрощенный синтаксис

Ваше предположение о кешировании неверно, вы никогда не будете отправлять XML пользователю и позволять ему кэшировать его, вам нужно проанализировать его в вашем приложении перед созданием страницы.

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

Кэшированные данные могут быть в файле или оперативной памяти (быстрее);и поскольку XML-файл уже является файлом, вам нужно пойти дальше, чтобы реально использовать кеш: интерпретируйте XML и кешируйте либо

  • экземпляр Zend_Navigation (предпочтительно);или
  • конфиг для Zend_Navigation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...