XSL и PHP5 + MySQL

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

XSL и PHP5 + MySQL

Непрочитанное сообщение kozak » 2010-09-29 17:41:50

Вопрос технического характера.

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

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

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

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

Какой случай наиболее правильный?
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: XSL и PHP5 + MySQL

Непрочитанное сообщение ProFTP » 2010-09-30 18:40:04

kozak писал(а):PHP выбирает из MySQL нужняк и генерирует XML-файл длиной в 1000 строк
зависит от задачи, я не знаю что там у тебя и как ты будешь там кешировать, ну я бы может по кусочками прокешировал... разные части xml
...разные парсеры/шаблонизаторы имеют у себя механизм кэширование
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

Re: XSL и PHP5 + MySQL

Непрочитанное сообщение kozak » 2010-09-30 19:37:24

Вот тестовый сайт: 1d точка net.ua, который использует часть базы (до 50 позиций).

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

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

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

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

Спасибо!
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: XSL и PHP5 + MySQL

Непрочитанное сообщение zg » 2010-10-01 19:49:51

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

Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

Re: XSL и PHP5 + MySQL

Непрочитанное сообщение kozak » 2010-10-01 22:21:58

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 а потом уже сохранять в кеш на случай повторного такого обращения.
Спасибо.
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.