Класс CacheEngine
Двигатель кэширования для CakePHP
- Cake\Cache\CacheEngine использует Cake\Core\InstanceConfigTrait
Прямые подклассы
- Cake\Cache\Engine\ApcuEngine
- Cake\Cache\Engine\ArrayEngine
- Cake\Cache\Engine\FileEngine
- Cake\Cache\Engine\MemcachedEngine
- Cake\Cache\Engine\NullEngine
- Cake\Cache\Engine\RedisEngine
- Cake\Cache\Engine\WincacheEngine
- Cake\Cache\Engine\XcacheEngine
Краткое описание свойств
-
$_defaultConfigprotectedarrayПо умолчанию конфигурация кеша переопределяется в большинстве адаптеров кеша. Это ключи, общие для всех адаптеров. Если переопределено, это свойство не используется.
-
$_groupPrefixprotectedstringСодержит скомпилированную строку со всеми префиксами групп, которые будут добавлены к каждому ключу в этом кэше.
Наследуемые свойства
Краткое описание методов
- _key() protectedГенерирует безопасный ключ, учитывая настроенный префикс ключа
- add() publicДобавляет ключ в кэш, если он ещё не существует.
- Удаляет все ключи из кэша
- clearGroup() public
Очищает все значения, принадлежащие группе. Реализующему движку предоставляется право решать, действительно удалять ключи или просто моделировать это для достижения того же результата.
- Уменьшает число по ключу и возвращает уменьшенное значение
- Удаляет ключ из кэша
- deleteMany() publicУдаляет ключи из кэша
- gc() publicСбор мусора
- groups() public
Выполняет необходимые инициализации для каждой группы и возвращает
group valueдля каждой из них, это маркер, представляющий каждую группу в ключе кэша. - Увеличивает число по ключу и возвращает увеличенное значение
- init() publicИнициализирует движок кэширования
- key() publicГенерирует безопасный ключ для использования с движками кэширования.
- Чтение ключа из кэша
- readMany() publicЧтение нескольких ключей из кэша
- warning() protected
Двигатели кэша могут вызывать предупреждения, если при работе возникают ошибки, если параметр warnOnWriteFailures установлен в значение true.
- Запись значения для ключа в кэш
- writeMany() publicЗапись данных для многих ключей в кэш
Подробное описание методов
_key()source protected
_key( string $key )
Генерирует безопасный ключ, учитывая настроенный префикс ключа
Параметры
- строка
$key - переданный ключ
Возвращает
смешанныйстрока $key или false
Выбрасывает
InvalidArgumentExceptionЕсли значение ключа пустое
add()source public
add( string $key , mixed $value )
Добавляет ключ в кэш, если он ещё не существует.
По умолчанию используется неатомарная реализация. Подклассы должны отдавать предпочтение атомарным реализациям.
Параметры
- строка
$key - Идентификатор данных.
- смешанный
$value - Данные, которые нужно кэшировать.
Возвращает
логическоеTrue, если данные были успешно кэшированы, false при ошибке.
clear()source abstract public
clear( boolean $check )
Удаляет все ключи из кэша
Параметры
- логическое
$check - если true, будет проверка истечения срока действия, иначе удаление всех
Возвращает
логическоеTrue, если кэш был успешно очищен, иначе false
clearGroup()source public
clearGroup( string $group )
Очищает все значения, принадлежащие группе. Реализующему движку предоставляется право решать, действительно удалять ключи или просто моделировать это для достижения того же результата.
Параметры
- строка
$group - имя группы для очистки
Возвращает
логическоеdecrement()source abstract public
decrement( string $key , integer $offset = 1 )
Уменьшает число по ключу и возвращает уменьшенное значение
Параметры
- строка
$key - Идентификатор данных
- целое
$offsetoptional 1 - На сколько уменьшить
Возвращает
логическое|целоеНовое уменьшенное значение, иначе false
delete()source abstract public
delete( string $key )
Удаляет ключ из кэша
Параметры
- строка
$key - Идентификатор данных
Возвращает
логическоеTrue, если значение было успешно удалено, false, если его не существовало или не удалось удалить
deleteMany()source public
deleteMany( array $keys )
Удаляет ключи из кэша
Параметры
- массив
$keys - Массив идентификаторов данных
Возвращает
массивДля каждого предоставленного ключа кэша (переданного в качестве ключа массива) true, если значение было успешно удалено, false, если его не существовало или не удалось удалить
gc()source public
gc( integer|null $expires = null )
Сбор мусора
Постоянно удаляет все просроченные и удалённые данные
Параметры
- целое|null
$expiresoptional null - [необязательно] Маркер времени истечения срока действия, делая все данные до него недействительными.
groups()source public
groups( )
Выполняет необходимые инициализации для каждой группы и возвращает group value для каждой из них, это маркер, представляющий каждую группу в ключе кэша
Возвращает
массивincrement()source abstract public
increment( string $key , integer $offset = 1 )
Увеличить число по ключу и вернуть увеличенное значение
Параметры
- строка
$key - Идентификатор данных
- целое число
$offsetнеобязательно 1 - На сколько увеличить
Возвращает
boolean|integerНовое увеличенное значение, иначе false
init()source public
init( array $config = [] )
Инициализировать кеш-движок
Вызывается автоматически фронт-эндом кеша. Объедините конфигурацию выполнения с значениями по умолчанию перед использованием.
Параметры
- массив
$configнеобязательно [] - Ассоциативный массив параметров для движка
Возвращает
booleanTrue, если движок был успешно инициализирован, иначе false
key()source public
key( string $key )
Генерирует безопасный ключ для использования с движками хранения кеша.
Параметры
- строка
$key - переданный ключ
Возвращает
boolean|stringстроковый ключ или false
read()source abstract public
read( string $key )
Прочитать ключ из кэша
Параметры
- строка
$key - Идентификатор данных
Возвращает
mixedДанные кэша или false, если данные не существуют, истекли срок действия или произошла ошибка при их извлечении
readMany()source public
readMany( array $keys )
Прочитать несколько ключей из кэша
Параметры
- массив
$keys - Массив идентификаторов данных
Возвращает
arrayДля каждого ключа кэша (указанного в качестве ключа массива) соответствующие данные кэша или false, если данные не существуют, истекли срок действия или произошла ошибка при их извлечении
warning()source protected
warning( string $message )
Движки кеша могут вызывать предупреждения, если при работе встречаются ошибки, если параметр warnOnWriteFailures установлен в значение true.
Параметры
- строка
$message - Сообщение предупреждения.
write()source abstract public
write( string $key , mixed $value )
Записать значение для ключа в кеш
Параметры
- строка
$key - Идентификатор данных
- смешанное
$value - Данные для кеширования
Возвращает
booleanTrue, если данные были успешно помещены в кэш, false в случае ошибки
writeMany()source public
writeMany( array $data )
Записать данные для многих ключей в кеш
Параметры
- массив
$data - Массив данных для хранения в кэше
Возвращает
arrayмассив булевых значений для каждого ключа, true, если данные были успешно помещены в кэш, false в случае ошибки
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаляет один ключ конфигурации.
Параметры
- строка
$key - Ключ для удаления.
Выбрасывает
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
_configRead()source protected
_configRead( string|null $key )
Считывает ключ конфигурации.
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
mixed_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Записывает ключ конфигурации.
Параметры
- строка|массив
$key - Ключ для записи.
- смешанное
$value - Значение для записи.
- boolean|строка
$mergeнеобязательно false True для рекурсивного объединения, 'shallow' для простого объединения, false для перезаписи, по умолчанию false.
Выбрасывает
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
config()source public deprecated
config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )
Получение/Установка конфигурации.
Использование
Чтение всей конфигурации:
$this->config();
Чтение определенного значения:
$this->config('key'); Чтение вложенного значения:
$this->config('some.nested.key'); Установка определенного значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Устаревшее
3.4.0 используйте setConfig()/getConfig() вместо этого.Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- смешанное|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Выполнять рекурсивное объединение или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращает
mixedЗначение конфигурации, которое считывается, или сам объект при операциях записи.
Выбрасывает
Cake\Core\Exception\ExceptionПри попытке установить неверный ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value = null )
Объединить предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.
Установка определенного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигураций.
- смешанное|null
$valueнеобязательно null - Значение для установки.
Возвращает
$this
getConfig()source public
getConfig( string|null $key = null , mixed $default = null )
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение определенного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
- строка|null
$keyнеобязательно null - Ключ для получения или null для всей конфигурации.
- смешанное
$defaultнеобязательно null - Значение по умолчанию, если ключ не существует.
Возвращает
mixedЗначение конфигурации, которое считывается.
setConfig()source public
setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )
Устанавливает конфигурацию.
Использование
Установка конкретного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки или полный массив конфигураций.
- mixed|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию — true.
Возвращает
$this
Выбрасывает
Cake\Core\Exception\ExceptionПри попытке установить неверный ключ.
Подробное описание свойств
$_defaultConfigsource
protected array
Конфигурация кэша по умолчанию переопределяется в большинстве адаптеров кэша. Эти ключи общие для всех адаптеров. Если переопределены, это свойство не используется.
-
durationУказывает, как долго элементы в данной конфигурации кэша сохраняются. -
groupsСписок групп или «меток», связанных с каждым ключом, хранящимся в этой конфигурации. Удобно для удаления целой группы из кэша. -
prefixПрефикс, добавляемый ко всем записям. Полезно, если вам нужно использовать одно пространство ключей с другой конфигурацией кэша или другим приложением. -
probabilityВероятность запуска очистки кэша (gc). Установка в 0 отключит автоматический вызов cache::gc. -
warnOnWriteFailuresНекоторые движки, такие как ApcuEngine, могут вызывать предупреждения при ошибках записи.
[
'duration' => 3600,
'groups' => [],
'prefix' => 'cake_',
'probability' => 100,
'warnOnWriteFailures' => true,
] $_groupPrefixsource
protected string
Содержит скомпилированную строку со всеми префиксами групп, которые будут добавлены к каждому ключу в этом движке кэша
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.7/class-Cake.Cache.CacheEngine.html