Кэш
Этот класс представляет собой многопротокольный кэш-движок F3. Он поддерживает memcache, WinCache, APC, XCache, Redis и кэширование на основе файловых систем.
Кэширование-это мощный способ повысить производительность вашего приложения. Он легко интегрируется со всеми основными и плагинными функциями например, установка ключей улья, HTTP-ответов, картографов БД и запросов и даже минификация JS/CSS.
Существует хорошее руководство пользователя Cache Engine, которое описывает, как работает Cache engine, и дает вам советы по улучшению вашего приложения и запросов к базе данных, поскольку они также могут быть кэшированы с помощью F3. Тебе действительно надо было прочитать его.
Пространство имен: \ Расположение файла: lib/base.php

Экземпляр

Возвращаемый экземпляр класса
$cache = \Cache::instance();
Механизм кэширования по умолчанию отключен. Чтобы активировать его с помощью автоматически обнаруженного бэкенда кэша, просто установите значение VAR системы кэша TRUE. Дополнительную конфигурацию смотрите в приведенной ниже функции load ().
Класс кэша использует заводскую оболочку Prefab, поэтому вы можете захватить один и тот же экземпляр этого класса в любой точке вашего кода.

набор

Храните пару ключ / значение в кэше
mixed|FALSE set( string $key, mixed $val [, int $ttl = 0 ] )
Если $ttlравно 0, то запись сохраняется в течение бесконечного времени. В противном случае указанное время в секундах используется как TTL.НБ: Версии F3 старше 3.6.5 повторно используют старые сроки годности. Начиная с 3.6.5, повторно используются только старые значения TTL. См. [выпуск №237] (https://github.com/bcosca/fatfree-core/issues/237) подробнее.

существует

Проверьте, существует ли запись кэша: верните метку времени и TTL записи кэша или FALSE, если она не найдена
array|FALSE exists( string $key [, mixed &$val = NULL ] )
Возвращает массив, содержащий элементы [0] creation timestamp и [1] time-to-live (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
}

получить

Извлечение значения записи кэша
mixed|FALSE get( string $key )

Очистить

Удаление записи кэша
bool clear( string $key )

Сброс

Очистить содержимое бэкэнда кэша
bool reset( [ string $suffix = NULL ] )
Вы можете использовать $suffixдля очистки записей кэша только тот суффикс, который соответствует этой строке.
Вы также можете использовать $f3->clear('CACHE')его в качестве ярлыка для этого.Ограничения:
  • при использовании XCache все записи очищаются, независимо от их значения $suffix.
  • при использовании Memcached через расширение memcache, статистика cachedump должна быть включена (без -Xфлага), иначе команда не будет работать. Расширение memcached у него нет этого ограничения.

загружать

Загрузка / автоматическое определение бэкенда кэша. Возврат кэша DSN
string load( string|bool $dsn )
Возможные конфигурации для $dsnare:
  • apc
  • apcu
  • wincache
  • xcache
  • memcache=localhost:11211
  • memcached=localhost:11211
  • redis=localhost
  • folder=tmp/cache/
Вы можете установить $dsnзначение TRUEдля запуска функции автоматического обнаружения, используя файловую систему в качестве запасного варианта, когда механизм общей памяти не был обнаружен или недоступен. Установка $dsnна FALSEотключение кэширования.
Бэкенды memcacheand memcachedподдерживают несколько серверов. Серверы должны быть разделены на,, ;или |.
Возвращает DSN кэша используемого кэша (заданный или автоматически обнаруженный).
Copy link
Outline