Страница 1 из 1

XSL и PHP5 + MySQL

Добавлено: 2010-09-29 17:41:50
kozak
Вопрос технического характера.

PHP выбирает из MySQL нужняк и генерирует XML-файл длиной в 1000 строк, после чего посредством XSL мы выводим html-список.

Чтобы каждый раз не задрачивать мускуль, решили создавать кэш каждого запроса в виде xml-файла.

Так вот вопрос, как лучше поступить:

v1. Содать XML-кеш длиной в 1000 строк, а потом его сортировать, резать на страницы и.т.п. посредством XSL;
v2. Для каждого конкретного случая (создания страниц, сортировки и.т.п.) создавать запрос к БД, генерировать XML а потом уже сохранять в кеш на случай повторного такого обращения.

Какой случай наиболее правильный?

Re: XSL и PHP5 + MySQL

Добавлено: 2010-09-30 18:40:04
ProFTP
kozak писал(а):PHP выбирает из MySQL нужняк и генерирует XML-файл длиной в 1000 строк
зависит от задачи, я не знаю что там у тебя и как ты будешь там кешировать, ну я бы может по кусочками прокешировал... разные части xml
...разные парсеры/шаблонизаторы имеют у себя механизм кэширование

Re: XSL и PHP5 + MySQL

Добавлено: 2010-09-30 19:37:24
kozak
Вот тестовый сайт: 1d точка net.ua, который использует часть базы (до 50 позиций).

Там в разделе "Каталог продукции" есть три вида сортировки:по цене, дате, популярности и два варианта отображения: списком и таблицей.

Работает так: при каждом запросе (сортировка, переключение страницы или изменение варианта отображения) генерируется XML (php+mysql) и сохраняется на сервере в виде xml-кеш файла.

Вроде работает неплохо, однако вариантов отображения каждой страници может быть ~ 120 штук, умножаем на 50 страниц = 6 000 кеш файлов для начала.

Является ли такое решение конкретно в моем случае оптимальным?

Спасибо!

Re: XSL и PHP5 + MySQL

Добавлено: 2010-10-01 19:49:51
zg
kozak писал(а):Чтобы каждый раз не задрачивать мускуль, решили создавать кэш каждого запроса в виде xml-файла.
эммм... а на каком основании решили? тесты, сравнения?
kozak писал(а):PHP выбирает из MySQL нужняк и генерирует XML-файл длиной в 1000 строк, после чего посредством XSL мы выводим html-список.
:smile: а смысл? Связка MySQL + PHP работает быстрее XML + PHP + XSL
kozak писал(а):на случай повторного такого обращения.
у муси и так есть кэш, зачем чего-то придумывать?
kozak писал(а):Какой случай наиболее правильный?
делать выборку с постраничной разбивкой и сортировкой в мусе, формировать XML и выводить через XSL.

Re: XSL и PHP5 + MySQL

Добавлено: 2010-10-01 22:21:58
kozak
zg писал(а):
kozak писал(а):Чтобы каждый раз не задрачивать мускуль, решили создавать кэш каждого запроса в виде xml-файла.
эммм... а на каком основании решили? тесты, сравнения?
как ни крути текстовый файл с сервера быстрей скачается чем сработает вся цепочка
zg писал(а):
kozak писал(а):PHP выбирает из MySQL нужняк и генерирует XML-файл длиной в 1000 строк, после чего посредством XSL мы выводим html-список.
:smile: а смысл? Связка MySQL + PHP работает быстрее XML + PHP + XSL
ответил в первом вопросе (связка работает только при первом запросе, после чего юзаем xml-кеш)
zg писал(а):
kozak писал(а):на случай повторного такого обращения.
у муси и так есть кэш, зачем чего-то придумывать?
мусин кэш в оперативке и невечный - вперед-назад-F5 еще помнить будет
zg писал(а):
kozak писал(а):Какой случай наиболее правильный?
делать выборку с постраничной разбивкой и сортировкой в мусе, формировать XML и выводить через XSL.
т.е. мой v.2
kozak писал(а):v2. Для каждого конкретного случая (создания страниц, сортировки и.т.п.) создавать запрос к БД, генерировать XML а потом уже сохранять в кеш на случай повторного такого обращения.
Спасибо.