Storage adapters are wrappers for real storage resources such as memory and the filesystem, using the well known adapter pattern.
They comes with tons of methods to read, write and modify stored items and to get information about stored items and the storage.
All adapters implements the interface Zend\Cache\Storage\StorageInterface and most extend Zend\Cache\Storage\Adapter\AbstractAdapter, which comes with basic logic.
Configuration is handled by either Zend\Cache\Storage\Adapter\AdapterOptions, or an adapter-specific options class if it exists. You may pass the options instance to the class at instantiation or via the setOptions() method, or alternately pass an associative array of options in either place (internally, these are then passed to an options class instance). Alternately, you can pass either the options instance or associative array to the Zend\Cache\StorageFactory::factory method.
Note
Many methods throw exceptions
Because many caching methods can throw exceptions, you need to catch them manually or you can use the plug-in Zend\Cache\Storage\Plugin\ExceptionHandler to automatically catch them and redirect exceptions into a log file using the option “exception_callback”.
Caching adapters can either be created from the provided Zend\Cache\StorageFactory factory, or by simply instantiating one of the Zend\Cache\Storage\Adapter\*classes.
To make life easier, the Zend\Cache\StorageFactory comes with a factory method to create an adapter and create/add all requested plugins at once.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | use Zend\Cache\StorageFactory;
// Via factory:
$cache = StorageFactory::factory(array(
'adapter' => 'apc',
'plugins' => array(
'exception_handler' => array('throw_exceptions' => false),
),
));
// Alternately:
$cache = StorageFactory::adapterFactory('apc');
$plugin = StorageFactory::pluginFactory('exception_handler', array(
'throw_exceptions' => false,
));
$cache->addPlugin($plugin);
// Or manually:
$cache = new Zend\Cache\Storage\Adapter\Apc();
$plugin = new Zend\Cache\Storage\Plugin\ExceptionHandler(array(
'throw_exceptions' => false,
));
$cache->addPlugin($plugin);
|
Pattern against which to validate cache keys.
The “namespace” in which cache items will live.
Enable/Disable reading data from cache.
Set time to live.
Enable/Disable writing data to cache.
setOptions(array|Traversable|Zend\Cache\Storage\Adapter\AdapterOptions $options)
Set options.
Implements a fluent interface.
getOptions()
Get options
Returns Zend\Cache\Storage\Adapter\AdapterOptions
getItem(string $key, boolean & $success = null, mixed & $casToken = null)
Load an item with the given $key, set parameter $success to TRUE and set parameter $casToken.
If item can’t load this method returns NULL and set parameter $success to FALSE.
getItems(array $keys)
Load all items given by $keys.
Returns an array of key-value pairs of available items.
hasItem(string $key)
Test if an item exists.
Returns boolean
hasItems(array $keys)
Test multiple items.
Returns array
getMetadata(string $key)
Get metadata of an item.
Returns array|boolean
getMetadatas(array $keys)
Get multiple metadata
Returns array
setItem(string $key, mixed $value)
Store an item.
Returns boolean
setItems(array $keyValuePairs)
Store multiple items.
Returns boolean
addItem(string $key, mixed $value)
Add an item.
Returns boolean
addItems(array $keyValuePairs)
Add multiple items.
Returns boolean
replaceItem(string $key, mixed $value)
Replace an item.
Returns boolean
replaceItems(array $keyValuePairs)
Replace multiple items.
Returns boolean
checkAndSetItem(mixed $token, string $key, mixed $value)
Set item only if token matches
It uses the token from received from getItem() to check if the item has changed before overwriting it.
Returns boolean
touchItem(string $key)
Reset lifetime of an item
Returns boolean
touchItems(array $keys)
Reset lifetime of multiple items.
Returns boolean
removeItem(string $key)
Remove an item.
Returns boolean
removeItems(array $keys)
Remove multiple items.
Returns boolean
incrementItem(string $key, int $value)
Increment an item.
Returns int|boolean
incrementItems(array $keyValuePairs)
Increment multiple items.
Returns boolean
decrementItem(string $key, int $value)
Decrement an item.
Returns int|boolean
decrementItems(array $keyValuePairs)
Decrement multiple items.
Returns boolean
getCapabilities()
Capabilities of this storage
Returns Zend\Cache\Storage\Capabilities
getAvailableSpace()
Get available space in bytes
Returns int|float
getTotalSpace()
Get total space in bytes
Returns int|float
clearByNamespace(string $namespace)
Remove items of given namespace
Returns boolean
clearByPrefix(string $prefix)
Remove items matching given prefix
Returns boolean
clearExpired()
Remove expired items
Returns boolean
flush()
Flush the whole storage
Returns boolean
getIterator()
Get an Iterator
Returns Zend\Cache\Storage\IteratorInterface
optimize()
Optimize the storage
Returns boolean
setTags(string $key, string[] $tags)
Set tags to an item by given key. An empty array will remove all tags.
Returns boolean
getTags(string $key)
Get tags of an item by given key
Returns string[]|FALSE
clearByTags(string[] $tags, boolean $disjunction = false)
Remove items matching given tags.
If $disjunction only one of the given tags must match else all given tags must match.
Returns boolean
The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.