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\Adapter 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);
|
Enables or disables ignoring of missing items.
If enabled and a missing item was requested:
If disabled and a missing item was requested:
Pattern against which to validate cache keys.
The “namespace” in which cache items will live.
Pattern against which to validate namespace values.
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, array $options = array ())
Get an item.
Returns mixed
getItems(array $keys, array $options = array ())
Get multiple items.
Returns array
hasItem(string $key, array $options = array ())
Test if an item exists.
Returns boolean
hasItems(array $keys, array $options = array ())
Test multiple items.
Returns array
getMetadata(string $key, array $options = array ())
Get metadata of an item.
Returns array|boolean
getMetadatas(array $keys, array $options = array ())
Get multiple metadata
Returns array
setItem(string $key, mixed $value, array $options = array ())
Store an item.
Returns boolean
setItems(array $keyValuePairs, array $options = array ())
Store multiple items.
Returns boolean
addItem(string $key, mixed $value, array $options = array ())
Add an item.
Returns boolean
addItems(array $keyValuePairs, array $options = array ())
Add multiple items.
Returns boolean
replaceItem(string $key, mixed $value, array $options = array ())
Replace an item.
Returns boolean
replaceItems(array $keyValuePairs, array $options = array ())
Replace multiple items.
Returns boolean
checkAndSetItem(mixed $token, string|null $key, mixed $value, array $options = array ())
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, array $options = array ())
Reset lifetime of an item
Returns boolean
touchItems(array $keys, array $options = array ())
Reset lifetime of multiple items.
Returns boolean
removeItem(string $key, array $options = array ())
Remove an item.
Returns boolean
removeItems(array $keys, array $options = array ())
Remove multiple items.
Returns boolean
incrementItem(string $key, int $value, array $options = array ())
Increment an item.
Returns int|boolean
incrementItems(array $keyValuePairs, array $options = array ())
Increment multiple items.
Returns boolean
decrementItem(string $key, int $value, array $options = array ())
Decrement an item.
Returns int|boolean
decrementItems(array $keyValuePairs, array $options = array ())
Decrement multiple items.
Returns boolean
getDelayed(array $keys, array $options = array ())
Request multiple items.
Returns boolean
find(int $mode = 2, array $options = array ())
Find items.
Returns boolean
fetch()
Fetches the next item from result set
Returns array|boolean
fetchAll()
Returns all items of result set.
Returns array
clear(int $mode = 1, array $options = array ())
Clear items off all namespaces.
Returns boolean
clearByNamespace(int $mode = 1, array $options = array ())
Clear items by namespace.
Returns boolean
optimize(array $options = array ())
Optimize adapter storage.
Returns boolean
getCapabilities()
Capabilities of this storage
Returns Zend\Cache\Storage\Capabilities
getCapacity(array $options = array ())
Get storage capacity.
Returns array|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.