PHP класс для кеширования динамических сайтов
Класс работает следующим образом: сначала идет попытка подключения к внутреннему серверу Memcache, если подключение удалось, то кеширование идет через него, а если нет, то кеш сохраняется в файлы.
Таким образом мы реализуем отказоустойчивый кеш, который может работать и в случае падения/отключения Memcache.
Подключаем класс:
require_once('cache.class.php'); $cache = new MicroCache($_SERVER["REQUEST_URI"]); // ключ кеша(для каждой страницы должен быть уникальным) if($cache->check()) die($cache->out()); else $cache->start(); // здесь ваш код $cache->end();
Теперь копнем глубже... Динамическое изменение настроек кеширования(время жизни, включен/выключен), после декларации класса:
require_once('cache.class.php'); $cache = new MicroCache($_SERVER["REQUEST_URI"]); if($cache->check()) die($cache->out()); else $cache->start(); if(isset($_GET['cache_lifetime']) AND is_numeric($_GET['cache_lifetime'])) $cache->lifetime = intval($_GET['cache_lifetime']); // устанавливаем кастомное время жизни кеша else if(isset($_GET['disable_cache'])) $cache->cache_on = false; // отключаем кеширование $cache->end();
Все бы хорошо, но есть одно НО: этот метод работает ТОЛЬКО если режим кеширования установлен на Memcache. Т.е. на файлах эта фича не прокатит. Но по другому никак.
Кого заинтересовал скрипт - прошу на GitHub. Там вы найдете сам класс и некоторую документацию.











