1. garvey - 11 Июня, 2010 - 10:13:54 - перейти к сообщению
Работаю на php уже около года, но делал сайты всегда без кэширования. И вот решил двинуться вперед. Подскажите, как правильно делать кэширование. Какие библиотеки использовать. Спасибо.
2. isle - 11 Июня, 2010 - 12:49:24 - перейти к сообщению
А где кешировать и что - не ясно... Помогите в том - не знаю в чем, напишите то - не знаю что...
В БД еще сам толком не копался, поэтому с временными таблицами привести пример пока не могу вот так навскидку. А на ФТП я делаю так:
В БД еще сам толком не копался, поэтому с временными таблицами привести пример пока не могу вот так навскидку. А на ФТП я делаю так:
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- if (is_file($file)) {
- #Проверяем наш кеш
- $stat = stat($file); $LastModif = $stat['mtime']; $size = $stat['size']; #Статистика кеша.
- if ($LastModif< $ism['block_cats_numitems_cash'] && $size>999) {
- @include($file); #Берем данные из кеша.
- if ($cash_categories && trim($cash_categories)!='') return $cash_categories;
- else $check = true; #Запускаем скрипт на выполнение, если кеш пустой (первый запуск, либо ошибка записи скрипта в кеш и т.д.)
- } else $check = true;
- } else {$fp = fopen($file,'w'); fclose($fp); $check = true;}
- ...
- if ($check) {
- #Выполняем наш скрипт, если кеша нет или его время вышло.
- }
- if (is_file($file)) {
- #Загоняем всё в кеш.
- $dump = var_export($out,true);
- $dump = "<?php\n\n\$cash_categories = $dump;\n\n?>";
- if (!@file_put_contents($file,$dump)) echo '<div>Check CHMOD 0777!</div>';
- } else echo 'Problem creat or write cash-file';
Пример из моего модуля... CHMOD у всех почти выключен, также и через подключение ФТП его тоже нельзя изменить (хостеры для своей безопасности все такие рюшки выключают), поэтому права 0777 ставить нужно вручную на кеш, здесь это опускаю.