MemcachedAdapter

class MemcachedAdapter extends AbstractAdapter

Traits

MemcachedTrait
AbstractTrait
LoggerAwareTrait

Methods

hasItem($key)

{@inheritdoc}

from AbstractTrait
clear()

{@inheritdoc}

from AbstractTrait
deleteItem($key)

{@inheritdoc}

from AbstractTrait
deleteItems(array $keys)

{@inheritdoc}

from AbstractTrait
bool enableVersioning(bool $enable = true)

Enables/disables versioning of items.

from AbstractTrait
reset()

{@inheritdoc}

from AbstractTrait
static handleUnserializeCallback($class) from AbstractTrait
static AdapterInterface createSystemCache(string $namespace, int $defaultLifetime, string $version, string $directory, LoggerInterface $logger = null) from AbstractAdapter
static Memcached createConnection(array[]|string|string[] $servers, array $options = array())

Creates a Memcached instance.

from MemcachedTrait
CacheItem getItem($key)

{@inheritdoc}

from AbstractAdapter
getItems(array $keys = array())

{@inheritdoc}

from AbstractAdapter
save(CacheItemInterface $item)

{@inheritdoc}

from AbstractAdapter
saveDeferred(CacheItemInterface $item)

{@inheritdoc}

from AbstractAdapter
commit()

{@inheritdoc}

from AbstractAdapter
__destruct() from AbstractAdapter
static isSupported() from MemcachedTrait
__construct(Memcached $client, string $namespace = '', int $defaultLifetime)

Using a MemcachedAdapter with a TagAwareAdapter for storing tags is discouraged.

Details

hasItem($key)

{@inheritdoc}

Parameters

$key

clear()

{@inheritdoc}

deleteItem($key)

{@inheritdoc}

Parameters

$key

deleteItems(array $keys)

{@inheritdoc}

Parameters

array $keys

bool enableVersioning(bool $enable = true)

Enables/disables versioning of items.

When versioning is enabled, clearing the cache is atomic and doesn't require listing existing keys to proceed, but old keys may need garbage collection and extra round-trips to the back-end are required.

Calling this method also clears the memoized namespace version and thus forces a resynchonization of it.

Parameters

bool $enable

Return Value

bool the previous state of versioning

reset()

{@inheritdoc}

static handleUnserializeCallback($class)

Parameters

$class

static AdapterInterface createSystemCache(string $namespace, int $defaultLifetime, string $version, string $directory, LoggerInterface $logger = null)

Parameters

string $namespace
int $defaultLifetime
string $version
string $directory
LoggerInterface $logger

Return Value

AdapterInterface

static Memcached createConnection(array[]|string|string[] $servers, array $options = array())

Creates a Memcached instance.

By default, the binary protocol, no block, and libketama compatible options are enabled.

Examples for servers: - 'memcached://user:pass@localhost?weight=33' - array(array('localhost', 11211, 33))

Parameters

array[]|string|string[] $servers An array of servers, a DSN, or an array of DSNs
array $options An array of options

Return Value

Memcached

Exceptions

ErrorEception When invalid options or servers are provided

CacheItem getItem($key)

{@inheritdoc}

Parameters

$key

Return Value

CacheItem

getItems(array $keys = array())

{@inheritdoc}

return \Traversable|CacheItem[]

Parameters

array $keys

save(CacheItemInterface $item)

{@inheritdoc}

Parameters

CacheItemInterface $item

saveDeferred(CacheItemInterface $item)

{@inheritdoc}

Parameters

CacheItemInterface $item

commit()

{@inheritdoc}

__destruct()

static isSupported()

__construct(Memcached $client, string $namespace = '', int $defaultLifetime)

Using a MemcachedAdapter with a TagAwareAdapter for storing tags is discouraged.

Using a RedisAdapter is recommended instead. If you cannot do otherwise, be aware that: - the Memcached::OPTBINARYPROTOCOL must be enabled (that's the default when using MemcachedAdapter::createConnection()); - tags eviction by Memcached's LRU algorithm will break by-tags invalidation; your Memcached memory should be large enough to never trigger LRU.

Using a MemcachedAdapter as a pure items store is fine.

Parameters

Memcached $client
string $namespace
int $defaultLifetime

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Cache/Adapter/MemcachedAdapter.html