Spec-Zone.ru › CakePHP 2.10

Класс Cache

Cache предоставляет согласованный интерфейс для кэширования в вашем приложении. Он позволяет использовать несколько разных движков кэширования, не привязывая ваше приложение к конкретной реализации. Это также позволяет изменять хранилище или конфигурацию кэша без влияния на остальную часть приложения.

Вы можете настроить движки кэширования в файле вашего приложения bootstrap.php. Пример конфигурации:

Cache::config('shared', array(
    'engine' => 'Apc',
    'prefix' => 'my_app_'
 ));

Это настраивает движок кэширования APC под псевдонимом «shared». Затем вы можете читать и записывать в этот кэш-псевдоним, используя его в качестве параметра $config в различных методах Cache. В общем, все операции Cache поддерживаются всеми движками кэширования. Однако Cache::increment() и Cache::decrement() не поддерживаются кэшированием в файлах.

Пакет: Cake\Cache
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Cache/Cache.php

Краткое описание свойств

  • $_config protected static
    array

    Стек конфигурации кэша. Сохраняет постоянные/базовые настройки для каждого движка кэширования. Эти настройки используются для сброса движков после временного изменения.

  • $_engines protected static
    array
    Экземпляры движков, индексированные по имени конфигурации.
  • $_groups protected static
    array
    Сопоставление группы с конфигурацией
  • $_reset protected static
    array
    Нужно ли сбрасывать настройки при следующем вызове Cache::set();

Краткое описание методов

  • _buildEngine() protected static
    Находит и создает экземпляр требуемого класса движка.
  • add() public static
    Записывает данные для ключа в движок кэша, если он еще не существует.
  • clear() public static
    Удаляет все ключи из кэша.
  • clearGroup() public static
    Удаляет все ключи из кэша, принадлежащие к одной группе.
  • config() public static

    Устанавливает конфигурацию кэша для использования. config() может создавать новые конфигурации и возвращать настройки уже настроенных конфигураций.

  • configured() public static
    Возвращает массив, содержащий текущие настройки кэша Cache.
  • decrement() public static
    Уменьшает число по ключу и возвращает уменьшенное значение.
  • delete() public static
    Удаляет ключ из кэша.
  • drop() public static

    Удаляет движок кэша. Удаляет информацию о конфигурации кэша. Если удаленная конфигурация — последняя конфигурация, использующая определенный движок, экземпляр движка также удаляется.

  • engine() public static
    Возвращает движок, связанный с определенным именем конфигурации.
  • gc() public static
    Сбор мусора
  • groupConfigs() public static
    Возвращает сопоставление имен групп с конфигурациями.
  • increment() public static
    Увеличивает число по ключу и возвращает увеличенное значение.
  • isInitialized() public static
    Проверяет, инициализировал ли Cache рабочую конфигурацию для данного имени.
  • read() public static
    Чтение ключа из конфигурации кэша.
  • remember() public static
    Предоставляет возможность легко выполнять кэширование чтением.
  • set() public static

    Временно изменяет настройки конфигурации кэша. Настройки сохраняются для следующей операции записи (запись, уменьшение, увеличение, очистка). Любые чтения, выполненные до записи, будут использовать измененные настройки. Если $settings пусто, настройки будут сброшены к исходной конфигурации.

  • settings() public static
    Возвращает настройки указанного движка кэша.
  • write() public static
    Записывает данные для ключа в движок кэша.

Подробное описание методов

_buildEngine()source protected static

_buildEngine( string $name )

Находит и создает экземпляр требуемого класса движка.

Параметры

строка $name
Имя массива конфигурации, для которого требуется создать экземпляр движка

Возвращает

boolean

Исключения

CacheException

add()source public static

add( string $key , mixed $value , string $config 'default' )

Записывает данные для ключа в движок кэша, если он еще не существует.

Использование:

Запись в активную конфигурацию кэша:

Cache::add('cached_data', $data);

Запись в определенную конфигурацию кэша:

Cache::add('cached_data', $data, 'long_term');

Параметры

строка $key
Идентификатор данных.
смешанный $value
Данные для кэширования — всё, кроме ресурса.
строка $config необязательно 'default'
Необязательное имя конфигурации для записи. По умолчанию 'default'.

Возвращает

boolean

True, если данные успешно кэшированы, false при ошибке. Или если ключ уже существовал.


clear()source public static

clear( boolean $check false , string $config 'default' )

Удаляет все ключи из кэша.

Параметры

логическое $check необязательно false
если true, проверяет срок действия, иначе удаляет все
строка $config необязательно 'default'
имя конфигурации для использования. По умолчанию 'default'

Возвращает

boolean
True, если кэш успешно очищен, в противном случае false

clearGroup()source public static

clearGroup( string $group , string $config 'default' )

Удаляет все ключи из кэша, принадлежащие к одной группе.

Параметры

строка $group
имя группы для очистки
строка $config необязательно 'default'
имя конфигурации для использования. По умолчанию 'default'

Возвращает

boolean
True, если группа кэша успешно очищена, в противном случае false
END_OF_DOCUMENT_MARKER

config()source public static

config( string $name null , array $settings array() )

Установить конфигурацию кеша для использования. config() может создавать новые конфигурации и возвращать настройки уже настроенных конфигураций.

Чтобы создать новую конфигурацию или постоянно изменить существующую:

Cache::config('my_config', array('engine' => 'File', 'path' => TMP));

Если вам нужно временно изменить конфигурацию, используйте Cache::set(). Чтобы получить настройки конфигурации:

Cache::config('default');

Существует 5 встроенных механизмов кэширования:

  • FileEngine — Использует простые файлы для хранения содержимого. Низкая производительность, но хорошо подходит для хранения больших объектов или объектов, не чувствительных к вводу-выводу.
  • ApcEngine — Использует кэш объектов APC, один из самых быстрых механизмов кэширования.
  • MemcacheEngine — Использует расширение PECL::Memcache и Memcached для хранения. Быстрое чтение/запись и преимущества от распределённости memcache.
  • XcacheEngine — Использует расширение Xcache, альтернативу APC.
  • WincacheEngine — Использует расширение Windows Cache для PHP. Поддерживает wincache 1.1.0 и выше.

В следующих ключах используются основные механизмы кеширования:

  • duration Указывает, как долго элементы в этой конфигурации кеша сохраняются.
  • groups Список групп или 'меток', связанных с каждым ключом, хранящимся в этой конфигурации. Полезно для удаления целой группы из кеша.
  • prefix Префикс, добавляемый ко всем записям. Подходит для случаев, когда вам нужно использовать одно пространство имён ключей с другой конфигурацией кеша или другим приложением.
  • probability Вероятность обращения к очистке кеша gc. Установка значения в 0 отключит автоматическое вызов cache::gc.
  • «серверы» Используется memcache. Укажите адреса серверов memcached, которые нужно использовать.
  • compress Используется memcache. Включает сжатый формат memcache.
  • serialize Используется FileCache. Необходимо ли сериализовать объекты перед кэшированием.
  • path Используется FileCache. Путь, по которому следует сохранять файлы кеша.
  • lock Используется FileCache. Следует ли блокировать файлы перед записью?
  • user Используется Xcache. Имя пользователя для XCache
  • password Используется Xcache/Redis. Пароль для XCache/Redis

Параметры

строка $name необязательно null
Имя конфигурации
массив $settings необязательно array()
Необязательный ассоциативный массив настроек, переданных в механизм

Возвращает

массив
массив (engine, settings) при успехе, false при ошибке

Исключения

CacheException

См. также

app/Config/core.php для настроек конфигурации

configured()source public static

configured( )

Возвращает массив, содержащий текущие настройки кеша.

Возвращает

массив
Массив имен настроенных конфигураций кеша.

decrement()source public static

decrement( string $key , integer $offset 1 , string $config 'default' )

Уменьшить число по ключу и вернуть уменьшенное значение.

Параметры

строка $key
Идентификатор данных
целое число $offset необязательно 1
На сколько уменьшить
строка $config необязательно 'default'
Необязательное имя конфигурации. По умолчанию 'default'

Возвращает

смешанный тип

новое значение или false, если данные не существуют, не являются целыми числами или произошла ошибка при их извлечении


delete()source public static

delete( string $key , string $config 'default' )

Удалить ключ из кэша.

Использование:

Удаление из активной конфигурации кеша.

Cache::delete('my_data');

Удаление из определённой конфигурации кеша.

Cache::delete('my_data', 'long_term');

Параметры

строка $key
Идентификатор данных
строка $config необязательно 'default'
имя конфигурации для использования. По умолчанию 'default'

Возвращает

boolean
True, если значение было успешно удалено, false, если оно не существовало или не удалилось

drop()source public static

drop( string $name )

Удаляет механизм кеширования. Удаляет информацию о конфигурации кеша. Если удалённая конфигурация — последняя конфигурация, использующая определённый механизм, экземпляр Engine также удаляется.

Параметры

строка $name
Текущая конфигурация кеша, которую вы хотите удалить.

Возвращает

boolean
Успех удаления, возвращает false, когда конфигурация не существует.

engine()source public static

engine( string $config 'default' )

Получить механизм, прикреплённый к определённому имени конфигурации.

Параметры

строка $config необязательно 'default'
Необязательное имя конфигурации для получения механизма. По умолчанию 'default'.

Возвращает

null|CacheEngine
Null, если механизм не инициализирован, или механизм.

gc()source public static

gc( string $config 'default' , integer $expires null )

Сбор мусора

Постоянно удаляет все истекшие и удалённые данные

Параметры

строка $config необязательно 'default'
[необязательно] Имя конфигурации, для которой требуется сбор мусора. По умолчанию 'default'
целое число $expires необязательно null
[необязательно] Отметка времени истечения срока действия. По умолчанию NULL

Возвращает

boolean

groupConfigs()source public static

groupConfigs( string $group null )

Получить соответствие имен групп и конфигураций.

Cache::config('daily', array(
    'duration' => '1 day', 'groups' => array('posts')
));
Cache::config('weekly', array(
    'duration' => '1 week', 'groups' => array('posts', 'archive')
));
$configs = Cache::groupConfigs('posts');

$config будет равен array('posts' => array('daily', 'weekly'))

Параметры

строка $group необязательно null
Имя группы или null для получения всех сопоставлений групп

Возвращает

массив
отображение группы и всех конфигураций, имеющих ту же группу

Исключения

CacheException

increment()source public static

increment( string $key , integer $offset 1 , string $config 'default' )

Увеличить число по ключу и вернуть увеличенное значение.

Параметры

строка $key
Идентификатор данных
целое число $offset необязательно 1
На сколько увеличить
строка $config необязательно 'default'
Необязательное имя конфигурации. По умолчанию 'default'

Возвращает

смешанный тип

новое значение или false, если данные не существуют, не являются целыми числами или произошла ошибка при их извлечении.


isInitialized()source public static

isInitialized( string $config 'default' )

Проверить, инициализировал ли Cache рабочую конфигурацию для данного имени.

Параметры

строка $config необязательно 'default'
имя конфигурации для использования. По умолчанию 'default'

Возвращает

boolean
Инициализирована ли конфигурация с данным именем.

read()source public static

read( string $key , string $config 'default' )

Прочитать ключ из конфигурации кеша.

Использование:

Чтение из активной конфигурации кеша.

Cache::read('my_data');

Чтение из определённой конфигурации кеша.

Cache::read('my_data', 'long_term');

Параметры

строка $key
Идентификатор данных
строка $config необязательно 'default'
необязательное имя конфигурации для использования. По умолчанию 'default'

Возвращает

смешанный тип
Данные из кэша или false, если данных нет, срок действия истек или произошла ошибка при их извлечении

remember()source public static

remember( string $key , callable $callable , string $config 'default' )

Предоставляет возможность легко выполнять кэширование с чтением.

При вызове, если $ключ не задан в $конфигурации, будет вызван $вызываемыйФункция. Результаты затем будут сохранены в конфигурации кэша по ключу.

Примеры:

Использование замыкания для предоставления данных, предположим, что $this — это модель:

$model = $this;
$results = Cache::remember('all_articles', function() use ($model) {
     return $model->find('all');
});

Параметры

строка $key
Ключ кэша для чтения/хранения данных.
вызываемый $callable

Вызываемый объект, который предоставляет данные в случае, когда ключ кэша пуст. Может быть любым типом вызываемого объекта, поддерживаемым PHP.

строка $config необязательно 'default'

Конфигурация кэша для использования в этой операции. По умолчанию — 'default'.

Возвращаемое значение

mixed
Результаты вызываемого объекта или результаты после десериализации.

set()source public static

set( string|array $settings array() , string $value null , string $config 'default' )

Временно изменяет настройки конфигурации кэша. Настройки сохранятся для следующей операции записи (запись, декремент, инкремент, очистка). Любые чтения, выполненные до записи, будут использовать изменённые настройки. Если $settings пусто, настройки будут сброшены до исходной конфигурации.

Можно вызывать с 2 или 3 параметрами. Для установки нескольких значений сразу.

Cache::set(array('duration' => '+30 minutes'), 'my_config');

Или для установки одного значения.

Cache::set('duration', '+30 minutes', 'my_config');

Для сброса конфигурации до первоначально заданных значений.

Cache::set(null, 'my_config');

Параметры

строка|массив $settings необязательно массив()
Необязательная строка для простой пары имя-значение или массив
строка $value необязательно null
Необязательно для простой пары имя-значение
строка $config необязательно 'default'
Имя конфигурации, которую вы изменяете. По умолчанию — 'default'

Возвращаемое значение

array
Массив настроек.

settings()source public static

settings( string $name 'default' )

Возвращает настройки для указанного движка кэширования.

Параметры

строка $name необязательно 'default'
Имя конфигурации, для которой нужно получить настройки. По умолчанию — 'default'

Возвращаемое значение

array
Список настроек для этого движка

См. также

Cache::config()

write()source public static

write( string $key , mixed $value , string $config 'default' )

Записывает данные по ключу в движок кэширования.

Использование:

Запись в активную конфигурацию кэша:

Cache::write('cached_data', $data);

Запись в определённую конфигурацию кэша:

Cache::write('cached_data', $data, 'long_term');

Параметры

строка $key
Идентификатор данных
смешанное $value
Данные для кэширования — всё, кроме ресурса
строка $config необязательно 'default'
Необязательное имя конфигурации для записи. По умолчанию — 'default'

Возвращаемое значение

boolean
True, если данные были успешно кэшированы, false в случае ошибки

Подробное описание свойств

$_configsource

protected static массив

Стек конфигурации кэша Содержит постоянные/стандартные настройки для каждого движка кэширования. Эти настройки используются для сброса настроек движков после временных изменений.

array()

$_enginessource

protected static массив

Экземпляры движков, индексированные по имени конфигурации.

array()

$_groupssource

protected static массив

Сопоставление группы с конфигурацией

array()

$_resetsource

protected static массив

Необходимо ли сбрасывать настройки при следующем вызове Cache::set();

false

© 2005–2017 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/2.10/class-Cache.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API