Spec-Zone.ru › CakePHP 2.8

Класс Cache

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

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

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

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

Пакет: Cake\Cache
Авторские права: Copyright (c) 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

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

  • 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 )

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

Параметры

string $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');

Параметры

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

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

boolean

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


clear()source public static

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

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

Параметры

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

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

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

clearGroup()source public static

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

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

Параметры

string $group
имя группы, которая должна быть очищена
string $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

Параметры

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

Возвращает

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 необязательный 1
На сколько уменьшить
string $config необязательный '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 необязательный 'default'
Имя конфигурации для использования. По умолчанию 'default'

Возвращает

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

drop()source public static

drop( string $name )

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

Параметры

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

Возвращает

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

gc()source public static

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

Сбор мусора

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

Параметры

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

Параметры

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

Возвращает

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

Исключение

CacheException

increment()source public static

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

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

Параметры

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

Возвращает

mixed

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


isInitialized()source public static

isInitialized( string $config 'default' )

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

Параметры

string $config необязательный '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 необязательный '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'

Возвращает

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

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

$_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.
http://api.cakephp.org/2.8/class-Cache.html

Spec-Zone.ru

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