MemcachedAdapter
class MemcachedAdapter extends AbstractAdapter
Traits
| MemcachedTrait | |
| AbstractTrait | |
| LoggerAwareTrait |
Properties
| protected | $maxIdLength |
Methods
| array|Traversable | doFetch(array $ids) Fetches several cache items. | from AbstractTrait |
| bool | doHave(string $id) Confirms if the cache contains specified cache item. | from AbstractTrait |
| bool | doClear(string $namespace) Deletes all items in the pool. | from AbstractTrait |
| bool | doDelete(array $ids) Removes multiple items from the pool. | from AbstractTrait |
| array|bool | doSave(array $values, int $lifetime) Persists several cache items immediately. | from AbstractTrait |
| 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 mixed | unserialize(string $value) Like the native unserialize() function but throws an exception if anything goes wrong. | from AbstractTrait |
| static | handleUnserializeCallback($class) | from AbstractTrait |
| __construct(Memcached $client, string $namespace = '', int $defaultLifetime = 0) Using a MemcachedAdapter with a TagAwareAdapter for storing tags is discouraged. | ||
| 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 |
| Traversable|CacheItem[] | 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 |
Details
abstract protected array|Traversable doFetch(array $ids)
Fetches several cache items.
Parameters
| array | $ids | The cache identifiers to fetch |
Return Value
| array|Traversable | The corresponding values found in the cache |
abstract protected bool doHave(string $id)
Confirms if the cache contains specified cache item.
Parameters
| string | $id | The identifier for which to check existence |
Return Value
| bool | True if item exists in the cache, false otherwise |
abstract protected bool doClear(string $namespace)
Deletes all items in the pool.
Parameters
| string | $namespace | The prefix used for all identifiers managed by this pool |
Return Value
| bool | True if the pool was successfully cleared, false otherwise |
abstract protected bool doDelete(array $ids)
Removes multiple items from the pool.
Parameters
| array | $ids | An array of identifiers that should be removed from the pool |
Return Value
| bool | True if the items were successfully removed, false otherwise |
abstract protected array|bool doSave(array $values, int $lifetime)
Persists several cache items immediately.
Parameters
| array | $values | The values to cache, indexed by their cache identifier |
| int | $lifetime | The lifetime of the cached values, 0 for persisting until manual cleaning |
Return Value
| array|bool | The identifiers that failed to be cached or a boolean stating if caching succeeded or not |
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 protected mixed unserialize(string $value)
Like the native unserialize() function but throws an exception if anything goes wrong.
Parameters
| string | $value |
Return Value
| mixed |
Exceptions
| Exception |
static handleUnserializeCallback($class)
Parameters
| $class |
__construct(Memcached $client, string $namespace = '', int $defaultLifetime = 0)
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::OPT_BINARY_PROTOCOL 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 |
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
| ErrorException | When invalid options or servers are provided |
CacheItem getItem($key)
{@inheritdoc}
Parameters
| $key |
Return Value
| CacheItem |
Traversable|CacheItem[] getItems(array $keys = array())
{@inheritdoc}
Parameters
| array | $keys |
Return Value
| Traversable|CacheItem[] |
save(CacheItemInterface $item)
{@inheritdoc}
Parameters
| CacheItemInterface | $item |
saveDeferred(CacheItemInterface $item)
{@inheritdoc}
Parameters
| 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