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 движки поддерживают несколько серверов. Серверы должны быть разделены символом , или ; или |.

Печать/экспорт