![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
||||
|
||||
Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 3 Всего: 55 |
Mal Hack,
Мало, ни memcache, ни Pear:Cache толком ничего нету |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Это несколько другое. PEAR я не воспринимаю в принципе.
|
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
Не мог бы малость просветить по этому поводу?! Mal Hack, такой подход естественно не имеет смысла. Имеет смыл когда контент генерится блоками, и затем эти блоки кэшируются... Лично у меня такой подход... -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Да, это хороший подход. Но не сразу люди видят, как все на блоки разбить, а статья должна дать в данном случае общий алгоритм. Кстати на счет блоков, не всегда факт.. К примеру есть блок верхней панельки, который зависит от пользователя. Как быть в таком случае? Да, можно разбить все на более мелкие блоки, но ИМХО, это не удобно. |
|||
|
||||
Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 3 Всего: 55 |
Mal Hack,
Не сказал бы, что это другое. Насчет не воспринимаешь - вот это другой вопрос, раз взялся писать статью про кеширование, ты должен это сделать непредвзято. Делая не полную статью, ты можешь ввести в заблуждение читателей. -=Ustas=-, http://ee.php.net/memcache Если коротко: хранение данных в памяти, может использоваться как кеширование. Подробнее по ссылке выше. Туда же: http://ee.php.net/apc http://ee.php.net/shm http://pear.php.net/package/Cache http://pear.php.net/package/Cache_Lite |
|||
|
||||
-=Ustas=- |
|
||||||||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
Элементарно, у меня хеш-ключи для имен файлов кеша формируются из данных: URI, текущая page (если она есть), и если пользователь зареган, то естественно и его id-ишник цепляется. Т.е. перекрестного подцепления не может быть в принципе.
Ну это смотря как посмотреть, и смотря какой подход использует сам программист. Например у меня свой класс шаблонов (простой, но работает так как мне надо), он у меня работает с html-шаблонами, в которых хтмл и дескрипторы вида {PANEL}. Т.е. у меня идет блочное формирование, поэтому проблем и запутывания абсолютно нет, все ясно и понятно ![]()
У нас есть три блока, которые заменяются другими блоками подключенных html-шаблонов.
Конечо, такой подход может показаться на первый взгляд немного муторным, но я уже привык и практически не замечаю этого ![]() Зато сервак разгружает очень даже заметно! -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
||||||||
|
|||||||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: нет Всего: 18 |
-=Ustas=-, а как быть с блоками, которые сами по себе генерируются рандомно (типа "случайная новость" и проч.)? И ещё, какая логика у скрипта, управляющим кешированием? В каком случае страница убирается из кеша?
Добавлено @ 08:26 Виноват, не страница а блок. -------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
-=Ustas=- |
|
||||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: нет Всего: 69 |
Я же упомянул об этом ![]()
У меня лично по времени. Но можно дописать что-то вроде проверки контрольной суммы, тогда кэш будет очищаться не по времени, а на момент изменения документа. -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
||||
|
|||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Сейчас появилась интересная тема использования перенаправляющих легких HTTP серверов типа nginx. Советую почитать по этой теме.
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
Empirik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 28.10.2005 Где: Россия, Пермь Репутация: нет Всего: 1 |
Форумчане, по поводу кеширования, скажите пожалуйста, можно ли перехвотить вывод в стандартный поток в php? Ну тоесть перехватить данные которые уходят при помощи вызова функций print и echo ?
--------------------
Постоянно удивляюсь человеческой фантазии напридумывают гаджетов |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Empirik, а я о чем в статье писал???
|
|||
|
||||
Empirik |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 28.10.2005 Где: Россия, Пермь Репутация: нет Всего: 1 |
Ты как раз об этом и писал. Позволь мою мысль объяснить немного конкретней. В класическом случаее кеширование осуществляеться по следующей схеме: все сохраняеться в какую то глобальную переменную, или в простую переменную и потом записываеться в файл и выводиться пользователю. Это не совсем удобно потому, что сначало нужно сформировать весь контент в одной переменной, ну или в нескольких.
Меня же интересовало, как можно не формируя контент в одной переменной, а копируя то что уходит пользователю, кешировать страницы. Поясню примерным примером: Стандартный процесс кеширования
А хотелось бы что бы кеширование производилось следующим образом
--------------------
Постоянно удивляюсь человеческой фантазии напридумывают гаджетов |
||||
|
|||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Empirik, читай статью внимательно. Я писал именно о том, КАК ПЕРЕХВАТИТЬ САМ ВЫВОД...
Никаких переменных у меня там нет. |
|||
|
||||
Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: нет Всего: 22 |
Empirik, читай про
ob_start(); ob_end_flush(); ob_list_handlers(); например еще ![]() |
|||
|
||||
Empirik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 28.10.2005 Где: Россия, Пермь Репутация: нет Всего: 1 |
Можешь привести код работы функций ob_start() и ob_end_flush() и как я понял, строку Print $content; - ты просто написал для примера? Добавлено @ 12:22 Всем спасибо разобрался --------------------
Постоянно удивляюсь человеческой фантазии напридумывают гаджетов |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
||||
|
||||
Eugene_Bond |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 3.9.2006 Репутация: 1 Всего: 4 |
добавлю свои 5 копеек
использование shtml тут поможет. судя по всему такой способ генерации контента остается наиболее подходящим для новостных порталов и прочих аналогичных сайтов расчитаных на большую нагрузку. чем генерить статику и управлять ей - это уже детали.. Это же касается "частичного" кеширования страницы ("Тут надо несколько усложнять, и делать кэш частичный, т.е. все что было описано выше надо проделать только над той частью, которая генерирует основной контент"). Ну и главное: есть тот же Смарти, который замечательно решает все эти вопросы. Как кеширование отдельных шаблонов, так и запрет на кеширование отдельных частей закешированных шаблонов. |
|||
|
||||
ST_Falcon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 14.11.2003 Где: Львов Репутация: нет Всего: 1 |
Mal Hack, ИМХО для твоего уровня статья слабенькая... все очень поверхносно, не описаны механизмы кеширования в Smarty, PEAR Cache, PEAR Cache Lite. еще было бы очень интересно посмотреть на сравнение производительности при использовании различных инструментов кеширования...
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
||||
|
||||
vdim |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 19.4.2008 Репутация: нет Всего: нет |
где статью-то можно почитать?
Ссылка перенаправляет на http://forum.vingrad.ru/faq/topic-82069.html , где одни комментарии. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Блин, опять админы со ссылками мутят...
http://base.vingrad.ru/view/2854-Psevdo-ke...anie-na-servere http://www.base.vingrad.ru/view/2854-Psevd...anie-na-servere |
|||
|
||||
Sanchezzz |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 2 Всего: 60 |
может не к теме немного но вот мой велик на кеш данных:
как пользоватся:
Минусы и плюсы в этом методе решать вам. Это сообщение отредактировал(а) Sanchezzz - 30.6.2009, 07:44 -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
||||
|
|||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
а где статья?
![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |