ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: кеширование



У меня вот так сделано:

<?
$fp=fopen("portal.log", "r"); // открыли время последнего изменения
$r=trim(fgets($fp, 11));
fclose($fp);
if(time()-$r<60){ // 1 минута
    echo implode("", file("portal.txt")); // выдали кеш юзеру
    echo "\n\n<!-- FROM CACHE -->";
}else{

    set_time_limit(60);
    ignore_user_abort(true); // чтобы кеш не сломался
    ob_start();

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
 тра-ля-ля что-то тут генерится и т.д.
....

</HTML>
<?

$out=ob_get_contents();
ob_end_clean();

// сохранили кеш
$fp=fopen("portal.txt", "w");
fputs($fp, $out);
fclose($fp);
// записали время сохранения
$fp=fopen("portal.log", "w");
$r=fputs($fp, time());
fclose($fp);

};

?>

Собственно решение "в лоб" - но снизило нагрузку раз в 10, страница 
посещаемая...




On Thu, 21 Jun 2007 12:25:09 +0300
Sergey Smitienko <hunter@xxxxxxxxxxxxx> wrote:

SS>  Вам поможет ob_start() & Co. По 5-6 строчек на каждый php файл.
SS> > Да-да, кто бы еще популярно показал, как это делается без переделки уже
SS> > имеющегося php кода...
SS> >   
SS> -- 
SS> Sergey Smitienko
SS> 
SS> 

-- 
AleXXX V. NovikoFF <mail@xxxxxxxxx>




 




Copyright © Lexa Software, 1996-2009.