Spec-Zone.ru › CakePHP 2.8

Класс MemcachedEngine

Двигатель кэша Memcached для хранения данных. Memcached имеет некоторые ограничения на управление временем истечения кэша в далёком будущем. Дополнительную информацию см. в MemcachedEngine::write().

Основное преимущество этого двигателя Memcached перед двигателем memcached — поддержка двоичного протокола и сериализации igbinary (если расширение memcached скомпилировано с параметром --enable-igbinary). Сжатые ключи также могут быть увеличены/уменьшены.

Этот движок кэша требует как минимум версию ext/memcached 2.0

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

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

  • $_Memcached protected
    Memcache
    Обёртка memcached.
  • $_serializers protected
    array
    Список доступных двигателей сериализации
  • $settings public
    array
    Настройки

Наследованные свойства

  • _groupPrefix

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

  • _parseServerString() protected

    Разбирает адрес сервера на хост/порт. Поддерживает IPv6 и IPv4 адреса, а также Unix сокеты

  • _setOptions() protected
    Установка экземпляра memcached
  • add() public

    Записывает данные для ключа в кэш, если они ещё не существуют. При использовании memcached в качестве движка кэша помните, что расширение Memcached PECL не поддерживает время истечения кэша более 30 дней в будущем. Любой срок больше 30 дней будет рассматриваться как неистекающий. В случае, если ключ уже существует, операция завершается ошибкой и возвращает false.

  • clear() public
    Удаляет все ключи из кэша
  • clearGroup() public

    Увеличивает значение группы, чтобы имитировать удаление всех ключей в группе. Старые значения останутся в хранилище до истечения срока их действия.

  • decrement() public
    Уменьшает значение целочисленного кэшированного ключа
  • delete() public
    Удаляет ключ из кэша
  • groups() public

    Возвращает group value для каждой из настроенных групп. Если начальное значение группы не найдено, группа инициализируется соответствующим образом.

  • increment() public
    Увеличивает значение целочисленного кэшированного ключа
  • init() public
    Инициализация движка кэша
  • read() public
    Чтение ключа из кэша
  • write() public

    Запись данных для ключа в кэш. При использовании memcached в качестве движка кэша помните, что расширение Memcached PECL не поддерживает время истечения кэша более 30 дней в будущем. Любой срок больше 30 дней будет рассматриваться как неистекающий.

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

_parseServerString()source protected

_parseServerString( string $server )

Разбирает адрес сервера на хост/порт. Поддерживает IPv6 и IPv4 адреса, а также Unix сокеты

Параметры

строка $server
Строка адреса сервера.

Возвращает

массив
Массив, содержащий хост и порт

_setOptions()source protected

_setOptions( )

Установка экземпляра memcached

Исключения

CacheException
при отсутствии поддержки нужного двигателя сериализации в расширении Memcached

add()source public

add( string $key , mixed $value , integer $duration )

Записывает данные для ключа в кэш, если они ещё не существуют. При использовании memcached в качестве движка кэша помните, что расширение Memcached PECL не поддерживает время истечения кэша более 30 дней в будущем. Любой срок больше 30 дней будет рассматриваться как неистекающий. В случае, если ключ уже существует, операция завершается ошибкой и возвращает false.

Параметры

строка $key
Идентификатор данных.
смешанное $value
Данные, подлежащие кэшированию.
целое число $duration
Время кэширования данных в секундах.

Возвращает

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

Ссылка

http://php.net/manual/en/memcached.add.php

Переопределяет

CacheEngine::add()

clear()source public

clear( boolean $check )

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

Параметры

булево $check

Если true, удаления не произойдут, и CakePHP будет полагаться на значения TTL ключей.

Возвращает

булево

True, если кэш был успешно очищен, false в противном случае. Также вернёт false, если используется двоичный протокол.


clearGroup()source public

clearGroup( string $group )

Увеличивает значение группы, чтобы имитировать удаление всех ключей в группе. Старые значения останутся в хранилище до истечения срока их действия.

Параметры

строка $group
Группа для очистки.

Возвращает

булево
Результат операции

Переопределяет

CacheEngine::clearGroup()

decrement()source public

decrement( string $key , integer $offset 1 )

Уменьшает значение целочисленного кэшированного ключа

Параметры

строка $key
Идентификатор данных
целое число $offset по умолчанию 1
На сколько уменьшить

Возвращает

Новое
уменьшенное значение, false в противном случае

Исключения

CacheException
при попытке уменьшить с compress = true

delete()source public

delete( string $key )

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

Параметры

строка $key
Идентификатор данных

Возвращает

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

groups()source public

groups( )

Возвращает group value для каждой из настроенных групп. Если начальное значение группы не найдено, группа инициализируется соответствующим образом.

Возвращает

массив

Переопределяет

CacheEngine::groups()

increment()source public

increment( string $key , integer $offset 1 )

Увеличивает значение целочисленного кэшированного ключа

Параметры

строка $key
Идентификатор данных
целое число $offset по умолчанию 1
На сколько увеличить

Возвращает

Новое
увеличенное значение, false в противном случае

Исключения

CacheException
при попытке увеличить с compress = true

init()source public

init( array $settings array() )

Инициализация кэша.

Вызывается автоматически передним кэшем. Для повторной инициализации настроек вызовите Cache::engine('ИмяДвигателя', [опциональные] настройки = массив());

Параметры

массив $settings опционально массив()
массив настроек для двигателя

Возвращает

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

Исключения

CacheException
при попытке использовать аутентификацию без Memcached, скомпилированного с поддержкой SASL

Переопределяет

CacheEngine::init()

read()source public

read( string $key )

Чтение ключа из кэша.

Параметры

строка $key
Идентификатор данных

Возвращает

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

write()source public

write( string $key , mixed $value , integer $duration )

Запись данных для ключа в кэш. При использовании memcached в качестве кэша имейте в виду, что расширение Memcached PECL не поддерживает время истечения кэша более чем на 30 дней в будущем. Любой срок больше 30 дней будет обрабатываться как неистекающий.

Параметры

строка $key
Идентификатор данных
mixed $value
Данные для кэширования
целое число $duration
Время кэширования данных в секундах

Возвращает

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

См. также

http://php.net/manual/en/memcache.set.php

Методы, унаследованные от CacheEngine

gc()source public

gc( integer $expires null )

Сбор мусора

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

Параметры

целое число $expires опционально null
[опционально] отметка времени истечения, аннулирующая все данные до нее.

key()source public

key( string $key )

Генерирует безопасный ключ для использования с кэширующими хранилищами.

Параметры

строка $key
переданный ключ

Возвращает

mixed
строка $ключ или false

settings()source public

settings( )

Настройки кэша.

Возвращает

массив
настройки

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

$_Memcachedsource

protected Memcache

Обёртка memcached.

null

$_serializerssource

protected массив

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

Memcached должен быть скомпилирован с поддержкой json и igbinary, чтобы использовать эти двигатели

array(
    'igbinary' => Memcached::SERIALIZER_IGBINARY,
    'json' => Memcached::SERIALIZER_JSON,
    'php' => Memcached::SERIALIZER_PHP
)

$settingssource

public массив

Настройки

  • серверы = строка или массив серверов memcached, по умолчанию => 127.0.0.1. Если массив, MemcacheEngine будет использовать их как пул.
    • сжимать = boolean, по умолчанию => false
    • постоянный = строка Имя постоянного подключения. Все конфигурации с одинаковым постоянным значением будут использовать одно и то же подлежащее подключение.
    • сериализовать = строка, по умолчанию => php. Двигатель сериализации, используемый для сериализации данных. Доступные двигатели: php, igbinary и json. Помимо php, расширение memcached должно быть скомпилировано с соответствующей поддержкой сериализации.
    • опции - Дополнительные опции для клиента memcached. Должны быть массивом опция => значение. Используйте константы Memcached::OPT_* в качестве ключей.
array()

© 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-MemcachedEngine.html

Spec-Zone.ru

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