class MemcachedAdapter extends AbstractAdapter
MemcachedTrait | |
AbstractTrait | |
LoggerAwareTrait |
protected | $maxIdLength |
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 |
Fetches several cache items.
array | $ids | The cache identifiers to fetch |
array|Traversable | The corresponding values found in the cache |
Confirms if the cache contains specified cache item.
string | $id | The identifier for which to check existence |
bool | True if item exists in the cache, false otherwise |
Deletes all items in the pool.
string | $namespace | The prefix used for all identifiers managed by this pool |
bool | True if the pool was successfully cleared, false otherwise |
Removes multiple items from the pool.
array | $ids | An array of identifiers that should be removed from the pool |
bool | True if the items were successfully removed, false otherwise |
Persists several cache items immediately.
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 |
array|bool | The identifiers that failed to be cached or a boolean stating if caching succeeded or not |
{@inheritdoc}
$key |
{@inheritdoc}
{@inheritdoc}
$key |
{@inheritdoc}
array | $keys |
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.
bool | $enable |
bool | the previous state of versioning |
{@inheritdoc}
Like the native unserialize() function but throws an exception if anything goes wrong.
string | $value |
mixed |
Exception |
$class |
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.
Memcached | $client | |
string | $namespace | |
int | $defaultLifetime |
string | $namespace | |
int | $defaultLifetime | |
string | $version | |
string | $directory | |
LoggerInterface | $logger |
AdapterInterface |
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))
array[]|string|string[] | $servers | An array of servers, a DSN, or an array of DSNs |
array | $options | An array of options |
Memcached |
ErrorException | When invalid options or servers are provided |
{@inheritdoc}
$key |
CacheItem |
{@inheritdoc}
array | $keys |
Traversable|CacheItem[] |
{@inheritdoc}
CacheItemInterface | $item |
{@inheritdoc}
CacheItemInterface | $item |
{@inheritdoc}
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Cache/Adapter/MemcachedAdapter.html