Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> кеширование в php есть ли смысл, проблема сам ее сделал, как решить ?  
V
    Опции темы
americanets
Дата 22.5.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



есть проблема : 
делаю кеширование все казалось бы просто, но пишу файл если есть и не стаарше 1 часа то использую его не конектясь к базе, но тк есть авторизация и прочее это не прокатило, стал делать по другому, кешу все до включения модулей, казалось бы тоже ок, но не тут то было, модулям нужны переменные, id и номер шаблона, значитснова конектится и смысла в кеше нет, есть третий вариант, скешить шаблон с текстом и подключением модуля, тем самым отпадет преобразование шаблона и замена типа 

Код

$CONTENT = preg_replace("/TITLES/", $PAGE_TITLES, $CONTENT);
$CONTENT = preg_replace("/DESCRIPTION/",$PAGE_DESCRIPTION, $CONTENT); 


и прочее, ускорит ли это работу и есть ли смысл? 


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
GZep
Дата 22.5.2007, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



смысл есть для страниц, которые в основном статические, но иногда обновляются. Например, новости. Управление происходит с админки => кто зашел в этот разде, админ или гость - плевать. Кешируем каждый раз при изменении колонки новостей.

А вообще никто не запрещает делать разные кеши для админа, гостей и .т.п.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
americanets
Дата 23.5.2007, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



вобщем сделал так:
добавил мета-теги с id и templates 

Код

<?
$settings_cachedir = 'cache_files/';
$settings_cachetime = 3600;
$thispage = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$cachelink = $settings_cachedir.md5($thispage).".html";
if (file_exists($cachelink)) {
$cachelink_time = filemtime($cachelink);
if ((time() - $settings_cachetime) < $cachelink_time) {
        $f = fopen("$cachelink","r");
        $CONTENT = @fread($f,filesize("$cachelink"));
        fclose($f);
        $mask='#<meta name="template" content="(.*?)">#si';
        preg_match($mask, $CONTENT, $tmp);
        $templates= $tmp[1];
        $maskid='#<meta name="id" content="(.*?)">#si';
        preg_match($maskid, $CONTENT, $identi);
        $id= $identi[1];
        $SYSTEM_TEMP_BLOCKS = array();
    if( preg_match_all( '/SYSTEM-(.*?)-MODUL/', $CONTENT, $cfr ) ) { 
    foreach ( $cfr[1] AS $text ) {
        include_once( 'modul/'.strtolower( $text ).'.php');
        }
    } 
reset($SYSTEM_TEMP_BLOCKS);
while (list ($key, $val) = each ($SYSTEM_TEMP_BLOCKS)) {
    $CONTENT = preg_replace("/$key/", $val, $CONTENT);
    }
echo stripslashes($CONTENT);
ob_end_flush();die();
    }
}
?>
тут обычный с подключением вывод

Код

<?
$fp = fopen($cachelink, 'w');
fwrite($fp, $CONTENT);
fclose($fp);
?>



--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0396 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.