Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как работает кэширование кода?
 
 автор: Shorr Kan   (13.12.2006 в 21:46)   письмо автору
 
 

Неоднократно встречаю высказывания о кэшировании на php. Но полноценного понимания так и нету.

Так что же php кэширует и каким образом?
Все что я понял - это то, что динамическое содержимое перестает для каждого клиента создаваться с нуля.

Но как оно все работает - я не понял вовсе.

Что это? И как?

   
 
 автор: cheops   (14.12.2006 в 00:43)   письмо автору
 
   для: Shorr Kan   (13.12.2006 в 21:46)
 

Да, всё правильно. Если речь идёт о PHP, то обычно перехватывается выходная HTML-страница и сохраняется куда-нибудь, затем при очередном запросе вместо генерации клиенту отправляется уже готовая HTML-страница. Подробности можно подчерпнуть в темах по ссылкам
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=5350
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148

   
 
 автор: Shorr Kan   (14.12.2006 в 01:50)   письмо автору
 
   для: cheops   (14.12.2006 в 00:43)
 

а) То есть, при помощи ob_start все в буффер, а потом fwrite($fp,ob_get_contents()) в файл?

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

   
 
 автор: Loki   (14.12.2006 в 09:59)   письмо автору
 
   для: Shorr Kan   (14.12.2006 в 01:50)
 

Как правило, на разных чашах весов лежит либо место, либо процессорное время. Так что в зависимости от задач используется то или другое. Да, кэширование требует места, но при этом разгружается процессор. И наоборот.
Работает примерно так:

если существует кэш и он актуален
{
 отбражаем файл кэша
}
иначе
{
 генерируем страницу, пишем ее в кэш и отдаем клиенту
}

Как видите, либо то, либо это.

   
 
 автор: cheops   (14.12.2006 в 11:42)   письмо автору
 
   для: Shorr Kan   (14.12.2006 в 01:50)
 

а) Да, так и есть.
б) Полностью присоединяюсь к Loki, кэширование обычно применяют для разгрузки сервера (процессора, файловой системы - если для формирования отчёта нужно перелопатить сотни файлов).

   
 
 автор: Shorr Kan   (14.12.2006 в 13:25)   письмо автору
 
   для: cheops   (14.12.2006 в 11:42)
 

Угу, всё понял, спасибо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования