Spec-Zone.ru › CakePHP 2.7

Класс 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. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположено в Cake/Cache/Cache.php

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

_buildEngineисходный код protected static

_buildEngine( string $name )

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

Параметры

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

Возвращает

boolean
bool

Выбрасывает

CacheException
CacheException

clearисходный код public static

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

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

Параметры

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

Возвращает

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

clearGroupисходный код public static

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

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

Параметры

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

Возвращает

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

configисходный код 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 для PHP. Поддерживает wincache 1.1.0 и выше.

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

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

Параметры

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

Возвращает

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

Выбрасывает

CacheException
CacheException

См.

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

configuredисходный код public static

configured( )

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

Возвращает

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

decrementисходный код public static

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

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

Параметры

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

Возвращает

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

deleteисходный код 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исходный код public static

drop( string $name )

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

Параметры

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

Возвращает

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

gcисходный код public static

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

Сбор мусора

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

Параметры

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

groupConfigsисходный код 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 для получения всех сопоставлений групп

Возвращает

array
Сопоставление групп и всех конфигураций, имеющих одинаковую группу

Выбрасывает

CacheException
CacheException
END_OF_DOCUMENT_MARKER

incrementsource public static

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

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

Параметры

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

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

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

isInitializedsource public static

isInitialized( string $config 'default' )

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

Параметры

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

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

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

readsource 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, если данные не существуют, истекли или при ошибке получения.

remembersource public static

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

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

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

Примеры:

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

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

Параметры

string $key
Ключ кэша для чтения/хранения данных.
callable $callable
Вызываемый объект, который предоставляет данные в случае, если ключ кэша пустой. Может быть любого типа вызываемого объекта, поддерживаемого PHP.
string $config optional 'default'
Конфигурация кэша для использования в этой операции. По умолчанию default.

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

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

setsource 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');

Параметры

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

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

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

settingssource public static

settings( string $name 'default' )

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

Параметры

string $name optional 'default'
Имя конфигурации для получения настроек. По умолчанию 'default'

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

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

См. также

Cache::config()

writesource public static

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

Запись данных для ключа в движок кэша.

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

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

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

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

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

Параметры

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

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

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

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

$_configsource

protected static array

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

array()

$_enginessource

protected static array

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

array()

$_groupssource

protected static array

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

array()

$_resetsource

protected static array

Необходимо ли сбрасывать настройки при следующем вызове 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.
http://api.cakephp.org/2.7/class-Cache.html

Spec-Zone.ru

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