[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Про кэширование
gsnzone
Привет всем. Такой вопрос. У меня есть страницы, которые делает большие запросы бд (и их много). Поэтому я сделал кеширование для этих страниц. то есть результат от запроса помещается в php файл (размер файла достигает 100-300кб, тут и html-теги, и результаты запросов вместе), потом при каждом вызове страницы считывается не из бд, а из этого файла. Я думаю - что быстрее и производительнее - помещать результат в файл а потом его через include подключать, или эти же данные заносить в mysql бд? в таком случае один раз будет много запросов для прокеширования, а потом только один. надеюсь, ясно изложил)) жду вашего мнения, стоит ли переделывать.
Игорь_Vasinsky
вообще зависит насколько разносторонне запросы.

например если это динамическое построение страниц - то можно всю страницу по REQUEST_URI брать, предварительно очистив от всяких SESSION в урл, иначе - копий кэша одной страницы будет многократно.

есть так же Memcached

я когда столкнулся с таким вопросом - оисал вариант реализации http://phpforum.ru/index.php?showtopic=609...%EE%E2%EE%E3%EE

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
gsnzone
в моем случае - кеш только некоторых страниц сайта. их штук 10. мне не нужно "глобальное" кеширование - только в пределах десятка страниц. скрипт у меня есть свой, вопрос просто в том, что лучше - файловый кеш в .php файл или в mysql его загнать.
__

вопрос даже можно еще упростить - большая ли нагрузка получится, если в бд будет храниться 200кб данных и каждый раз эти 200кб будут оттуда выгружаться ?
Игорь_Vasinsky
есть мнение - что файловый быстрее.

и обычно кешируют сами запросы или выборку, а не весь контент с упаковкой в БД, по крайней мере я не слышал.
при этом же дополнительная обработка данных в БД и при выводе, а это доп ресурсы

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
gsnzone
что ж, думаю - файловую все же придется оставить
Игорь_Vasinsky
чтобы снизить размер файла кэша - чисти html от хлама - знаков переноса, табыляции, ненужных пробелов и прочее. - но аккуратней с JS

так же для html файлов можно применить одну из степени сжатия через ob_start

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
VELIK505
Зачем html сохранять в файл? html кеширует nginx
Получил результат от запроса положил его в хранилище любое будь то memcache или redis или твой файловый кеш и оттуда раздвай результаты запросов. Кешировать html, css вообщем всё что касаеться статики это прошлый век. За тебя это делает nginx + ещё сжимает её на лету
gsnzone
надо попробовать с этим разобраться
VELIK505
Максимум что ты можешь сделать c html, css, javascript это завернуть их в 1 строку через ob_start и то этим ты поможешь не веб серверу а браузеру быстрее отобразить страницу
Игорь_Vasinsky
VELIK505
ну слышал я такие предложения

тока ни как не въеду - как мне хранить ассоциативный многомерный массив в файловом хэше

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
biggrin.gif в сереализованном или json, на кряйняк xml

туплю))

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.