MemcachedAdapter
class MemcachedAdapter extends AbstractAdapter
Свойства
| MemcachedTrait | |
| AbstractTrait | |
| LoggerAwareTrait |
Свойства
| protected | $maxIdLength |
Методы
| array|Traversable | doFetch(array $ids) Извлекает несколько элементов кэша. | из AbstractTrait |
| bool | doHave(string $id) Проверяет, содержит ли кэш указанный элемент. | из AbstractTrait |
| bool | doClear(string $namespace) Удаляет все элементы в пуле. | из AbstractTrait |
| bool | doDelete(array $ids) Удаляет несколько элементов из пула. | из AbstractTrait |
| array|bool | doSave(array $values, int $lifetime) Немедленно сохраняет несколько элементов кэша. | из AbstractTrait |
| hasItem($key) {@inheritdoc} | из AbstractTrait | |
| clear() {@inheritdoc} | из AbstractTrait | |
| deleteItem($key) {@inheritdoc} | из AbstractTrait | |
| deleteItems(array $keys) {@inheritdoc} | из AbstractTrait | |
| bool | enableVersioning(bool $enable = true) Включает/выключает версионирование элементов. | из AbstractTrait |
| reset() {@inheritdoc} | из AbstractTrait | |
| static mixed | unserialize(string $value) Аналогично встроенной функции unserialize(), но выбрасывает исключение, если что-то пойдёт не так. | из AbstractTrait |
| static | handleUnserializeCallback($class) | из AbstractTrait |
| __construct(Memcached $client, string $namespace = '', int $defaultLifetime = 0) Использование MemcachedAdapter с TagAwareAdapter для хранения тегов не рекомендуется. | ||
| static AdapterInterface | createSystemCache(string $namespace, int $defaultLifetime, string $version, string $directory, LoggerInterface $logger = null) | из AbstractAdapter |
| static Memcached | createConnection(array[]|string|string[] $servers, array $options = array()) Создаёт экземпляр Memcached. | из MemcachedTrait |
| CacheItem | getItem($key) {@inheritdoc} | из AbstractAdapter |
| Traversable|CacheItem[] | getItems(array $keys = array()) {@inheritdoc} | из AbstractAdapter |
| save(CacheItemInterface $item) {@inheritdoc} | из AbstractAdapter | |
| saveDeferred(CacheItemInterface $item) {@inheritdoc} | из AbstractAdapter | |
| commit() {@inheritdoc} | из AbstractAdapter | |
| __destruct() | из AbstractAdapter | |
| static | isSupported() | из MemcachedTrait |
Подробности
abstract protected array|Перечисляемый doFetch(array $ids)
Извлекает несколько элементов кэша.
Параметры
| array | $ids | Идентификаторы элементов кэша для извлечения |
Значение возврата
| array|Перечисляемый | Соответствующие значения, найденные в кэше |
abstract protected bool doHave(string $id)
Проверяет, содержит ли кэш указанный элемент кэша.
Параметры
| string | $id | Идентификатор для проверки существования |
Значение возврата
| bool | True, если элемент существует в кэше, иначе false |
abstract protected bool doClear(string $namespace)
Удаляет все элементы в пуле.
Параметры
| string | $namespace | Префикс, используемый для всех идентификаторов, управляемых этим пулом |
Значение возврата
| bool | True, если пул был успешно очищен, иначе false |
abstract protected bool doDelete(array $ids)
Удаляет несколько элементов из пула.
Параметры
| array | $ids | Массив идентификаторов, которые должны быть удалены из пула |
Значение возврата
| bool | True, если элементы были успешно удалены, иначе false |
abstract protected array|bool doSave(array $values, int $lifetime)
Непосредственно сохраняет несколько элементов кэша.
Параметры
| array | $values | Значения для кэширования, индексированные по идентификатору кэша |
| int | $lifetime | Срок действия кэшированных значений, 0 — до ручного удаления |
Значение возврата
| array|bool | Идентификаторы, которые не удалось кэшировать, или булево значение, указывающее на успех или неудачу кэширования |
hasItem($key)
{@inheritdoc}
Параметры
| $key |
clear()
{@inheritdoc}
deleteItem($key)
{@inheritdoc}
Параметры
| $key |
deleteItems(array $keys)
{@inheritdoc}
Параметры
| array | $keys |
bool enableVersioning(bool $enable = true)
Включает/отключает версионирование элементов.
При включенном версионировании очистка кэша атомарна и не требует перечисления существующих ключей, но старые ключи могут потребовать сборки мусора и дополнительных обращений к бэкенду.
Вызов этого метода также очищает кешированный версионирование пространства имен и, таким образом, заставляет пересинхронизировать его.
Параметры
| bool | $enable |
Значение возврата
| bool | Предыдущее состояние версионирования |
reset()
{@inheritdoc}
static protected mixed unserialize(string $value)
Аналогично встроенной функции unserialize(), но выбрасывает исключение, если что-то пойдёт не так.
Параметры
| string | $value |
Значение возврата
| mixed |
Исключения
| Исключение |
static handleUnserializeCallback($class)
Параметры
| $class |
__construct(Memcached $client, string $namespace = '', int $defaultLifetime = 0)
Использование MemcachedAdapter с TagAwareAdapter для хранения тегов не рекомендуется.
Вместо этого рекомендуется использовать RedisAdapter. Если вы не можете поступить иначе, имейте в виду, что: - Memcached::OPT_BINARY_PROTOCOL должен быть включен (это значение по умолчанию при использовании MemcachedAdapter::createConnection()); - удаление тегов алгоритмом LRU Memcached нарушит работу по тегам аннулирования; объём памяти вашего Memcached должен быть достаточно большим, чтобы никогда не срабатывало LRU.
Использование MemcachedAdapter в качестве простого хранилища элементов приемлемо.
Параметры
| Memcached | $client | |
| string | $namespace | |
| int | $defaultLifetime |
static Интерфейс адаптера createSystemCache(string $namespace, int $defaultLifetime, string $version, string $directory, LoggerInterface $logger = null)
Параметры
| string | $namespace | |
| int | $defaultLifetime | |
| string | $version | |
| string | $directory | |
| LoggerInterface | $logger |
Значение возврата
| Интерфейс адаптера |
static Memcached createConnection(array[]|string|string[] $servers, array $options = array())
Создаёт экземпляр Memcached.
По умолчанию включён двоичный протокол, без блокировки и совместимые с libketama опции.
Примеры серверов: - 'memcached://user:pass@localhost?weight=33' - array(array('localhost', 11211, 33))
Параметры
| array[]|string|string[] | $servers | Массив серверов, DSN или массив DSN |
| array | $options | Массив опций |
Значение возврата
| Memcached |
Исключения
| Ошибка | При предоставлении недопустимых опций или серверов |
Элемент кэша getItem($key)
{@inheritdoc}
Параметры
| $key |
Значение возврата
| Элемент кэша |
Перечисляемый|Элемент кэша[] getItems(array $keys = array())
{@inheritdoc}
Параметры
| array | $keys |
Значение возврата
| Перечисляемый|Элемент кэша[] |
save(CacheItemInterface $item)
{@inheritdoc}
Параметры
| CacheItemInterface | $item |
saveDeferred(CacheItemInterface $item)
{@inheritdoc}
Параметры
| CacheItemInterface | $item |
commit()
{@inheritdoc}
__destruct()
static isSupported()
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Cache/Adapter/MemcachedAdapter.html