Cache
Этот класс представляет собой многопротокольный механизм кэширования. Он поддерживает кэширование на основе Memcache, WinCache, APC, XCache, Redis и на основе кэша файловой системы.
Кэширование - это эффективный способ повысить производительность вашего приложения. Он легко интегрируется со всеми функциями ядра и плагинов, установкой ключей hive, HTTP-ответами , сопоставлениями БД (Mapper) и запросами клиента, а так же минификацией JS / CSS .
Пространство имен: \
Расположение файла:lib/base.php
Инициализация
Вернуть экземпляр класса
$cache = \Cache::instance();
Механизм кэширования по умолчанию отключен. Чтобы активировать его с помощью автоматически определяемого бэкэнда кэша, просто установите системную переменную CACHE в TRUE.
Класс Cache использует обёртку сборщика Prefab, поэтому вы можете получить один и тот же экземпляр этого класса в любой точке вашего кода.
set
Хранить пару ключ / значение в кэше
mixed|FALSE set( string $key, mixed $val [, int $ttl = 0 ] )
Если $ttl = 0, запись сохраняется бесконечно долго. В противном случае указанное время в секундах используется как TTL.
exists
Проверка существования записи в кэше. Возвращает метку времени и TTL записи кэша или FALSE, если запись не найдена
array|FALSE exists( string $key [, mixed &$val = NULL ] )
Возвращает массив, содержащий элементы [0] метку времени создания и [1] время жизни (TTL, в секундах) записи кэша; или FALSE если он не был найден.
$cache->set('foo','bar',5); var_dump($cache->exists('foo')); /* returns array(2) { [0]=> float(1369257446.4874) [1]=> int(5) } */
Вы также можете использовать аргумент $val для получения содержимого записи кэша. Это может сэкономить дополнительный get вызов.
if ($cache->exists('foo',$value)) { echo $value; // bar }
get
Получить значение записи кэша
mixed|FALSE get( string $key )
clear
Удалить запись из кэша
bool clear( string $key )
reset
Очистить содержимое серверной части кэша
bool reset( [ string $suffix = NULL ] )
Вы можете использовать $suffix только для очистки записей кэша с суффиксом, который соответствует этой строке.
Вы также можете использовать $f3→clear('CACHE').
Ограничения: при использовании XCache все записи очищаются, независимо от значения $suffix. при использовании Memcached через расширение memcache, статистика cachedump должна быть включена (без -X флага), иначе команда не будет работать. Расширение memcached не имеет этого ограничения.
load
Загрузка / авто-определение кэша бекенда. Возврат кэша DSN
string load( string|bool $dsn )
Возможные конфигурации для $dsn:
- apc
- apcu
- wincache
- xcache
- memcache=localhost:11211
- memcached=localhost:11211
- redis=localhost
- folder=tmp/cache/
Вы можете установить, $dsn в TRUE чтобы запускать функцию автоматического обнаружения, используя файловую систему в качестве запасного варианта, когда механизм общей памяти не обнаружен или недоступен. Установка $dsn в FALSE кэширование отключает.
memcache и memcached движки поддерживают несколько серверов. Серверы должны быть разделены символом , или ; или |.