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

Экземпляр

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

набор

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

существует

Проверьте, существует ли запись кэша: верните метку времени и TTL записи кэша или FALSE, если она не найдена
1
array|FALSE exists( string $key [, mixed &$val = NULL ] )
Copied!
Возвращает массив, содержащий элементы [0] creation timestamp и [1] time-to-live (TTL, в секундах) записи кэша; или FALSEесли она не была найдена.
1
$cache->set('foo','bar',5);
2
3
var_dump($cache->exists('foo'));
4
/* returns
5
array(2) {
6
[0]=> float(1369257446.4874)
7
[1]=> int(5)
8
}
9
*/
Copied!
Вы также можете использовать этот $valаргумент для извлечения содержимого записи кэша. Это может сохранить дополнительный getвызов к бэкэнду кэша.
1
if ($cache->exists('foo',$value)) {
2
echo $value; // bar
3
}
Copied!

получить

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

Очистить

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

Сброс

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

загружать

Загрузка / автоматическое определение бэкенда кэша. Возврат кэша DSN
1
string load( string|bool $dsn )
Copied!
Возможные конфигурации для $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
Contents