Previous Next

Zend\Cache\Storage\Adapter

Overview

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".

Quick Start

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.

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::adapterFactory('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);

Configuration Options

ignore_missing_items

Enables or disables ignoring of missing items.

If enabled and a missing item was requested:

  • getItem, getMetadata: return false

  • removeItem[s]: return true

  • incrementItem[s], decrementItem[s]: add a new item with 0 as base

  • touchItem[s]: add new empty item

If disabled and a missing item was requested:

  • getItem, getMetadata, incrementItem[s], decrementItem[s], touchItem[s]

  • setIgnoreMissingItems ( boolean $flag )

    Implements a fluent interface.

  • getIgnoreMissingItems ( void )

    Returns boolean

key_pattern

Pattern against which to validate cache keys.

  • setKeyPattern ( null|string $pattern )

    Implements a fluent interface.

  • getKeyPattern ( void )

    Returns string

namespace

The "namespace" in which cache items will live.

  • setNamespace ( string $namespace )

    Implements a fluent interface.

  • getNamespace ( void )

    Returns string

namespace_pattern

Pattern against which to validate namespace values.

  • setNamespacePattern ( null|string $pattern )

    Implements a fluent interface.

  • getNamespacePattern ( void )

    Returns string

readable

Enable/Disable reading data from cache.

  • setReadable ( boolean $flag )

    Implements a fluent interface.

  • getReadable ( void )

    Returns boolean

ttl

Set time to live.

  • setTtl ( int|float $ttl )

    Implements a fluent interface.

  • getTtl ( void )

    Returns float

writable

Enable/Disable writing data to cache.

  • setWritable ( boolean $flag )

    Implements a fluent interface.

  • getWritable )

    Returns boolean

Available Methods

setOptions
setOptions ( array|Traversable|Zend\Cache\Storage\Adapter\AdapterOptions $options )

Set options.

Implements a fluent interface.

getOptions
getOptions ( void )

Get options

Returns Zend\Cache\Storage\Adapter\AdapterOptions

getItem
getItem ( string $key, array $options = array () )

Get an item.

Returns mixed

getItems
getItems ( array $keys, array $options = array () )

Get multiple items.

Returns array

hasItem
hasItem ( string $key, array $options = array () )

Test if an item exists.

Returns boolean

hasItems
hasItems ( array $keys, array $options = array () )

Test multiple items.

Returns array

getMetadata
getMetadata ( string $key, array $options = array () )

Get metadata of an item.

Returns array|boolean

getMetadatas
getMetadatas ( array $keys, array $options = array () )

Get multiple metadata

Returns array

setItem
setItem ( string $key, mixed $value, array $options = array () )

Store an item.

Returns boolean

setItems
setItems ( array $keyValuePairs, array $options = array () )

Store multiple items.

Returns boolean

addItem
addItem ( string $key, mixed $value, array $options = array () )

Add an item.

Returns boolean

addItems
addItems ( array $keyValuePairs, array $options = array () )

Add multiple items.

Returns boolean

replaceItem
replaceItem ( string $key, mixed $value, array $options = array () )

Replace an item.

Returns boolean

replaceItems
replaceItems ( array $keyValuePairs, array $options = array () )

Replace multiple items.

Returns boolean

checkAndSetItem
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
touchItem ( string $key, array $options = array () )

Reset lifetime of an item

Returns boolean

touchItems
touchItems ( array $keys, array $options = array () )

Reset lifetime of multiple items.

Returns boolean

removeItem
removeItem ( string $key, array $options = array () )

Remove an item.

Returns boolean

removeItems
removeItems ( array $keys, array $options = array () )

Remove multiple items.

Returns boolean

incrementItem
incrementItem ( string $key, int $value, array $options = array () )

Increment an item.

Returns int|boolean

incrementItems
incrementItems ( array $keyValuePairs, array $options = array () )

Increment multiple items.

Returns boolean

decrementItem
decrementItem ( string $key, int $value, array $options = array () )

Decrement an item.

Returns int|boolean

decrementItems
decrementItems ( array $keyValuePairs, array $options = array () )

Decrement multiple items.

Returns boolean

getDelayed
getDelayed ( array $keys, array $options = array () )

Request multiple items.

Returns boolean

find
find ( int $mode = 2, array $options = array () )

Find items.

Returns boolean

fetch
fetch ( void )

Fetches the next item from result set

Returns array|boolean

fetchAll
fetchAll ( void )

Returns all items of result set.

Returns array

clear
clear ( int $mode = 1, array $options = array () )

Clear items off all namespaces.

Returns boolean

clearByNamespace
clearByNamespace ( int $mode = 1, array $options = array () )

Clear items by namespace.

Returns boolean

optimize
optimize ( array $options = array () )

Optimize adapter storage.

Returns boolean

getCapabilities
getCapabilities ( void )

Capabilities of this storage

Returns Zend\Cache\Storage\Capabilities

getCapacity
getCapacity ( array $options = array () )

Get storage capacity.

Returns array|boolean

TODO: Examples

Previous Next