Spec-Zone.ru › CakePHP 2.9

Класс Cache

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

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

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

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

Пакет: Cake\Cache
Авторские права: Авторские права (с) Cake Software Foundation, Inc. (http://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
    Возвращает массив, содержащий текущие настройки кэша.
  • 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 Вероятность попадания в сборку мусора кеша. Установка в 0 отключит автоматический вызов cache::gc.
  • `servers' Используется memcache. Указывает адрес серверов memcached для использования.
  • compress Используется memcache. Включает сжатый формат memcache.
  • serialize Используется FileCache. Объекты должны быть сериализованы перед кешированием.
  • path Используется FileCache. Путь, в котором должны сохраняться файлы кеша.
  • lock Используется FileCache. Файлы должны блокироваться перед записью в них?
  • user Используется Xcache. Имя пользователя для XCache
  • password Используется Xcache/Redis. Пароль для XCache/Redis

Параметры

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

Возвращает

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

Выбрасывает

CacheException

См. также

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

configured()source public static

configured( )

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

Возвращает

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

decrement()source public static

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

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

Параметры

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

Возвращает

mixed

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


delete()source public static

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

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

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

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

Cache::delete('my_data');

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

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

Параметры

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

Возвращает

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

drop()source public static

drop( string $name )

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

Параметры

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

Возвращает

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

engine()source public static

engine( string $config 'default' )

Извлечь движок, прикреплённый к имени определённой конфигурации.

Параметры

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

Возвращает

null|CacheEngine
Null, если движок не был инициализирован, или движок.

gc()source public static

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

Сбор мусора

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

Параметры

string $config optional 'default'
[необязательно] Имя конфигурации, для которой нужно произвести сбор мусора. По умолчанию 'default'
integer $expires optional 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'))

Параметры

string $group optional null
имя группы или null для получения всех отображений соответствия групп

Возвращает

array
отображение соответствия группы и всех конфигураций с той же группой

Выбрасывает

CacheException

increment()source public static

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

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

Параметры

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

Возвращает

mixed

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


isInitialized()source public static

isInitialized( string $config 'default' )

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

Параметры

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

Возвращает

boolean
Инициализирована ли конфигурация.

read()source public static

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

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

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

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

Cache::read('my_data');

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

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

Параметры

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

Возвращает

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

remember()source public static

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

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

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

Примеры:

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

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

Параметры

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

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

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

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

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

смешанное
Результаты вызываемого объекта или результаты, десериализованные из кэша.

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'

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

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

settings()source public static

settings( string $name 'default' )

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

Параметры

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

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

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

См. также

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'

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

булево
Истина, если данные были успешно кэшированы, ложь при ошибке

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

$_configsource

protected static массив

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

array()

$_enginessource

protected static массив

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

array()

$_groupssource

protected static массив

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

array()

$_resetsource

protected static массив

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

false

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

Spec-Zone.ru

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