Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Кэширование веб-сценариев


Андрей Уваров

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

Суть довольно проста, и всё сводится к сохранению выводимой клиенту информации во временных файлах. При последующих запросах вместо выполнения оригинального сценария будет просто выводиться содержимое этих файлов. Итак, перейдем непосредственно к описанию алгоритма:

1. Если данный запрос был кэширован и временный файл не устарел, то переход на 2, иначе переход на 3.

2. Вывод пользователю содержимого временного файла, переход на 8.

3. Перенаправление вывода в буфер (так называемая буферизация вывода).

4. Тело сценария.

5. Сохранение содержимого буфера во временный файл.

6. Вывод содержимого буфера пользователю.

7. Очистка буфера.

8. Выход.

Данный алгоритм отображён в виде структурной схемы на рисунке:

Рисунок 1

Перейдём непосредственно к примеру.

Начало кэширования.

<?

    // cashe_begin.inc.php

    if(file_exists($fname) and ї

           (time()-filemtime($fname)) < $time2live){

           require($fname);

           exit();

    }

    ob_start();

?>

 

Конец кэширования.

<?

    // cashe_end.inc.php

    $file= @fopen($fname, “w”);

    @fwrite($file, ob_get_contents());

    ob_end_flush();  // вывод содержимого буфера пользователю

    ob_end_clean(); // очистка буфера

?>

 

Тело сценария.

<?


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100