Класс yii\caching\MemCache
| Наследование | yii\caching\MemCache » yii\caching\Cache » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\caching\CacheInterface |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/caching/MemCache.php |
MemCache реализует компонент кеширования, основанный на memcache и memcached.
MemCache поддерживает как memcache, так и memcached. Установив $useMemcached в true или false, можно выбрать использование memcached или memcache соответственно.
MemCache можно настроить со списком серверов memcache, установив свойство $servers. По умолчанию MemCache предполагает, что сервер memcache работает на localhost на порту 11211.
См. yii\caching\Cache для общих операций кеширования, которые поддерживает MemCache.
Обратите внимание, что нет мер безопасности для защиты данных в memcache. К любым данным в memcache может получить доступ любой процесс, запущенный в системе.
Для использования MemCache в качестве компонента приложения кеширования, настройте приложение следующим образом:
[
'components' => [
'cache' => [
'class' => 'yii\caching\MemCache',
'servers' => [
[
'host' => 'server1',
'port' => 11211,
'weight' => 60,
],
[
'host' => 'server2',
'port' => 11211,
'weight' => 40,
],
],
],
],
]
В примере выше используются два сервера memcache: server1 и server2. Вы можете настроить больше свойств каждого сервера, такие как persistent, weight, timeout. См. yii\caching\MemCacheServer для доступных опций.
Для получения более подробной информации и руководства по использованию кеша, см. статью руководства по кешированию.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список поведений, присоединенных к этому компоненту | yii\base\Component |
| $defaultDuration | integer | Срок действия по умолчанию в секундах, прежде чем запись в кеше истечет. | yii\caching\Cache |
| $keyPrefix | string | Строка-префикс для каждого ключа кеша, чтобы он был уникальным во всем хранилище кеша. | yii\caching\Cache |
| $memcache | \Memcache|\Memcached | Объект memcache (или memcached), используемый этим компонентом кеширования. | yii\caching\MemCache |
| $options | array | Параметры для Memcached. | yii\caching\MemCache |
| $password | string | Пароль sasl для Memcached. | yii\caching\MemCache |
| $persistentId | string | Идентификатор, который идентифицирует экземпляр Memcached. | yii\caching\MemCache |
| $serializer | null|array|false | Функции для сериализации и десериализации данных кеша. | yii\caching\Cache |
| $servers | yii\caching\MemCacheServer[] | Список конфигураций серверов memcache. | yii\caching\MemCache |
| $useMemcached | boolean | Использовать memcached или memcache в качестве базового расширения кеширования. | yii\caching\MemCache |
| $username | string | Имя пользователя sasl для Memcached. | yii\caching\MemCache |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в значение null. | yii\base\Object |
| add() | Сохраняет значение, идентифицированное ключом, в кэше, если в кэше нет этого ключа. | yii\caching\Cache |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| buildKey() | Создаёт нормализованный ключ кэша из заданного ключа. | yii\caching\Cache |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| delete() | Удаляет значение с указанным ключом из кэша. | yii\caching\Cache |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| exists() | Проверяет, существует ли указанный ключ в кэше. | yii\caching\Cache |
| flush() | Удаляет все значения из кэша. | yii\caching\Cache |
| get() | Извлекает значение из кэша с указанным ключом. | yii\caching\Cache |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все присоединённые к этому компоненту поведения. | yii\base\Component |
| getMemcache() | Возвращает базовый объект memcache (или memcached). | yii\caching\MemCache |
| getOrSet() | Метод объединяет методы set() и get() для извлечения значения, идентифицированного ключом $key, или для хранения результата выполнения $callable, если для $key нет кэшированного значения. | yii\caching\Cache |
| getServers() | Возвращает конфигурации серверов memcache или memcached. | yii\caching\MemCache |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, присоединённый к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует этот компонент приложения. | yii\caching\MemCache |
| madd() | Сохраняет несколько элементов в кэше. Каждый элемент содержит значение, идентифицированное ключом. | yii\caching\Cache |
| mget() | Извлекает несколько значений из кэша по заданным ключам. | yii\caching\Cache |
| mset() | Сохраняет несколько элементов в кэше. Каждый элемент содержит значение, идентифицированное ключом. | yii\caching\Cache |
| multiAdd() | Сохраняет несколько элементов в кэше. Каждый элемент содержит значение, идентифицированное ключом. | yii\caching\Cache |
| multiGet() | Извлекает несколько значений из кэша по заданным ключам. | yii\caching\Cache |
| multiSet() | Сохраняет несколько элементов в кэше. Каждый элемент содержит значение, идентифицированное ключом. | yii\caching\Cache |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| offsetExists() | Возвращает, существует ли запись в кэше с указанным ключом. | yii\caching\Cache |
| offsetGet() | Извлекает значение из кэша с указанным ключом. | yii\caching\Cache |
| offsetSet() | Сохраняет значение, идентифицированное ключом, в кэше. | yii\caching\Cache |
| offsetUnset() | Удаляет значение с указанным ключом из кэша. Этот метод требуется интерфейсом ArrayAccess. | yii\caching\Cache |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| set() | Сохраняет значение, идентифицированное ключом, в кэше. | yii\caching\Cache |
| setServers() | yii\caching\MemCache | |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| addMemcacheServers() | Добавляет серверы в пул серверов кэша, указанный для расширения memcache PECL. | yii\caching\MemCache |
| addMemcachedServers() | Добавляет серверы в пул серверов кэша, указанный для расширения memcached PECL. | yii\caching\MemCache |
| addServers() | Добавляет серверы в пул серверов кэша, указанный. | yii\caching\MemCache |
| addValue() | Сохраняет значение, идентифицированное ключом, в кэш, если этот ключ в кэше отсутствует. | yii\caching\MemCache |
| addValues() | Добавляет несколько пар ключ-значение в кэш. | yii\caching\Cache |
| deleteValue() | Удаляет значение с указанным ключом из кэша. Это реализация метода, объявленного в родительском классе. | yii\caching\MemCache |
| flushValues() | Удаляет все значения из кэша. | yii\caching\MemCache |
| getValue() | Извлекает значение из кэша по указанному ключу. | yii\caching\MemCache |
| getValues() | Извлекает несколько значений из кэша по указанным ключам. | yii\caching\MemCache |
| setValue() | Сохраняет значение, идентифицированное ключом, в кэше. | yii\caching\MemCache |
| setValues() | Сохраняет несколько пар ключ-значение в кэше. | yii\caching\MemCache |
Подробное описание свойств
$memcache публичное свойство только для чтения
Объект memcache (или memcached), используемый этим компонентом кэша.
public \Memcache|\Memcached getMemcache ( )
$options публичное свойство
Параметры для Memcached. Это свойство используется только когда $useMemcached равно true.
См. также http://ca2.php.net/manual/en/memcached.setoptions.php.
public array $options = null
$password публичное свойство
Пароль SASL для Memcached. Это свойство используется только когда $useMemcached равно true.
См. также http://php.net/manual/en/memcached.setsaslauthdata.php.
public string $password = null
$persistentId публичное свойство
Идентификатор, который идентифицирует экземпляр Memcached. Это свойство используется только когда $useMemcached равно true. По умолчанию экземпляры Memcached уничтожаются в конце запроса. Чтобы создать экземпляр, сохраняющийся между запросами, вы можете указать уникальный идентификатор для экземпляра. Все экземпляры, созданные с одинаковым идентификатором, будут использовать одно и то же соединение.
См. также http://ca2.php.net/manual/en/memcached.construct.php.
public string $persistentId = null
$servers публичное свойство
Список конфигураций серверов memcache.
public yii\caching\MemCacheServer[] getServers ( )
public void setServers ( $config )
$useMemcached публичное свойство
Использовать memcached или memcache в качестве базового расширения кэша. Если равно true, будет использоваться memcached. Если равно false, будет использоваться memcache. По умолчанию равно false.
public boolean $useMemcached = false
$username публичное свойство
Имя пользователя SASL для Memcached. Это свойство используется только когда $useMemcached равно true.
См. также http://php.net/manual/en/memcached.setsaslauthdata.php.
public string $username = null
Подробное описание методов
addMemcacheServers() защищённый метод
Добавление серверов в пул серверов кэша, указанного. Используется для расширения memcache PECL.
| защищённый void addMemcacheServers ( $cache, $servers ) | ||
|---|---|---|
| $cache | \Memcache | |
| $servers | yii\caching\MemCacheServer[] | |
addMemcachedServers() защищённый метод
Добавление серверов в пул серверов кэша, указанного. Используется для расширения memcached PECL.
| защищённый void addMemcachedServers ( $cache, $servers ) | ||
|---|---|---|
| $cache | \Memcached | |
| $servers | yii\caching\MemCacheServer[] | |
addServers() защищённый метод
Добавление серверов в пул серверов кэша, указанного.
| защищённый void addServers ( $cache, $servers ) | ||
|---|---|---|
| $cache | \Memcache|\Memcached | |
| $servers | yii\caching\MemCacheServer[] | |
| throws | yii\base\InvalidConfigException | |
addValue() защищённый метод
Сохраняет значение, определяемое ключом, в кэше, если кэш не содержит этот ключ.
Это реализация метода, объявленного в родительском классе.
См. также Memcache::set().
| защищённый boolean addValue ( $key, $value, $duration ) | ||
|---|---|---|
| $key | string |
Ключ, определяющий значение для кэширования |
| $value | mixed |
Значение для кэширования |
| $duration | integer |
Количество секунд, в течение которых кэшированное значение будет действовать. 0 означает, что значение никогда не истечёт. |
| return | boolean |
True, если значение успешно сохранено в кэш, иначе false |
deleteValue() защищённый метод
Удаляет значение с указанным ключом из кэша. Это реализация метода, объявленного в родительском классе.
| защищённый boolean deleteValue ( $key ) | ||
|---|---|---|
| $key | string |
Ключ значения, подлежащего удалению |
| return | boolean |
Если удаление прошло без ошибок |
flushValues() защищённый метод
Удаляет все значения из кэша.
Это реализация метода, объявленного в родительском классе.
| защищённый boolean flushValues ( ) | ||
|---|---|---|
| return | boolean |
Успешность операции очистки. |
getMemcache() публичный метод
Возвращает базовый объект memcache (или memcached).
| публичный \Memcache|\Memcached getMemcache ( ) | ||
|---|---|---|
| return | \Memcache|\Memcached |
Объект memcache (или memcached), используемый этой компонентой кэша. |
| throws | yii\base\InvalidConfigException |
если расширение memcache или memcached не загружено |
getServers() публичный метод
Возвращает конфигурации сервера memcache или memcached.
| публичный yii\caching\MemCacheServer[] getServers ( ) | ||
|---|---|---|
| return | yii\caching\MemCacheServer[] |
Список конфигураций серверов memcache. |
getValue() защищённый метод
Извлекает значение из кэша по заданному ключу.
Это реализация метода, объявленного в родительском классе.
| защищённый mixed|false getValue ( $key ) | ||
|---|---|---|
| $key | string |
Уникальный ключ, определяющий кэшированное значение |
| return | mixed|false |
Значение, сохранённое в кэше, false, если значение отсутствует в кэше или истекло. |
getValues() защищённый метод
Извлекает несколько значений из кэша по указанным ключам.
| защищённый array getValues ( $keys ) | ||
|---|---|---|
| $keys | array |
Список ключей, определяющих кэшированные значения |
| return | array |
Список кэшированных значений, индексированных по ключам |
init() публичный метод
Инициализирует эту компонент приложения.
Создаёт экземпляр memcache и добавляет серверы memcache.
| публичный void init ( ) |
|---|
setServers() публичный метод
См. также:
| публичный void setServers ( $config ) | ||
|---|---|---|
| $config | array |
Список конфигураций серверов memcache или memcached. Каждый элемент должен быть массивом с ключами: host, port, persistent, weight, timeout, retryInterval, status. |
setValue() защищённый метод
Сохраняет значение, идентифицируемое ключом, в кэше.
Это реализация метода, объявленного в родительском классе.
См. также Memcache::set().
| защищённый boolean setValue ( $key, $value, $duration ) | ||
|---|---|---|
| $key | string |
Ключ, определяющий значение для кэширования |
| $value | mixed |
Значение для кэширования. |
| $duration | integer |
Количество секунд, в течение которых кэшированное значение будет действовать. 0 означает, что значение никогда не истечёт. |
| return | boolean |
True, если значение успешно сохранено в кэш, иначе false |
setValues() защищённый метод
Сохраняет несколько пар ключ-значение в кэше.
| защищённый array setValues ( $data, $duration ) | ||
|---|---|---|
| $data | array |
Массив, где ключ соответствует ключу кэша, а значение - хранимому значению |
| $duration | integer |
Количество секунд, в течение которых кэшированные значения будут действовать. 0 означает, что значения никогда не истекут. |
| return | array |
Массив неудачных ключей. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-caching-memcache.html