API Documentation

Zend/Cache/Backend/TwoLevels.php

Show: inherited
Table of Contents

Zend Framework

LICENSE

This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.

Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Cache  
Subpackage
Zend_Cache_Backend  
Version
$Id: TwoLevels.php 24594 2012-01-05 21:27:01Z matthew $  

\Zend_Cache_Backend_TwoLevels

Package: Zend\Cache\Zend\Cache\Backend

Implements
\Zend_Cache_Backend_ExtendedInterface
Parent(s)
\Zend_Cache_Backend
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

Propertyprotected\Zend_Cache_Backend_ExtendedInterface  $_fastBackend= ''

Fast Backend

Propertyprotectedint  $_fastBackendFillingPercentage= 'null'

Cache for the fast backend filling percentage

Default valuenullDetails
Type
int
Propertyprotectedarray  $_options= 'array( 'slow_backend' => 'File''

Available options

available options

=====> (string) slow_backend : - Slow backend name - Must implement the Zend_Cache_Backend_ExtendedInterface - Should provide a big storage

=====> (string) fast_backend : - Flow backend name - Must implement the Zend_Cache_Backend_ExtendedInterface - Must be much faster than slow_backend

=====> (array) slow_backend_options : - Slow backend options (see corresponding backend)

=====> (array) fast_backend_options : - Fast backend options (see corresponding backend)

=====> (int) stats_update_factor : - Disable / Tune the computation of the fast backend filling percentage - When saving a record into cache : 1 => systematic computation of the fast backend filling percentage x (integer) > 1 => computation of the fast backend filling percentage randomly 1 times on x cache write

=====> (boolean) slow_backend_custom_naming : =====> (boolean) fast_backend_custom_naming : =====> (boolean) slow_backend_autoload : =====> (boolean) fast_backend_autoload : - See Zend_Cache::factory() method

=====> (boolean) auto_refresh_fast_cache - If true, auto refresh the fast cache when a cache record is hit

Default valuearray( 'slow_backend' => 'File'Details
Type
array
Propertyprotected\Zend_Cache_Backend_ExtendedInterface  $_slowBackend= ''

Slow Backend

Methods

methodpublic___expire( string $id ) : void

PUBLIC METHOD FOR UNIT TESTING ONLY !

Force a cache record to expire

Parameters
Name Type Description
$id string

cache id

methodpublic__construct( array $options = array() ) : void

Constructor

Parameters
Name Type Description
$options array

Associative array of options

Throws
Exception Description
\Zend_Cache_Exception
methodprivate_getFastFillingPercentage(  $mode ) : void

Parameters
Name Type Description
$mode
methodprivate_getFastLifetime( int $lifetime, int $priority, int $maxLifetime = null ) : int

Compute and return the lifetime for the fast backend

Parameters
Name Type Description
$lifetime int

original lifetime

$priority int

priority

$maxLifetime int

maximum lifetime

Returns
Type Description
int lifetime for the fast backend
methodprivate_prepareData( string $data, int $lifetime, int $priority ) : string

Prepare a serialized array to store datas and metadatas informations

Parameters
Name Type Description
$data string

data to store

$lifetime int

original lifetime

$priority int

priority

Returns
Type Description
string serialize array to store into cache
methodpublicclean( string $mode = Zend_Cache::CLEANING_MODE_ALL, array $tags = array() ) : boolean

Clean some cache records

Available modes are : Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags ($tags can be an array of strings or a single string) Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} ($tags can be an array of strings or a single string) Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags ($tags can be an array of strings or a single string)

Parameters
Name Type Description
$mode string

Clean mode

$tags array

Array of tags

Returns
Type Description
boolean true if no problem
Throws
Exception Description
\Zend_Cache_Exception
methodpublicgetCapabilities( ) : array

Return an associative array of capabilities (booleans) of the backend

The array must include these keys : - automatic_cleaning (is automating cleaning necessary) - tags (are tags supported) - expired_read (is it possible to read expired cache records (for doNotTestCacheValidity option for example)) - priority does the backend deal with priority when saving - infinite_lifetime (is infinite lifetime can work with this backend) - get_list (is it possible to get the list of cache ids and the complete list of tags)

Returns
Type Description
array associative of with capabilities
methodpublicgetFillingPercentage( ) : int

Return the filling percentage of the backend storage

Returns
Type Description
int integer between 0 and 100
methodpublicgetIds( ) : array

Return an array of stored cache ids

Returns
Type Description
array array of stored cache ids (string)
methodpublicgetIdsMatchingAnyTags( array $tags = array() ) : array

Return an array of stored cache ids which match any given tags

In case of multiple tags, a logical AND is made between tags

Parameters
Name Type Description
$tags array

array of tags

Returns
Type Description
array array of any matching cache ids (string)
methodpublicgetIdsMatchingTags( array $tags = array() ) : array

Return an array of stored cache ids which match given tags

In case of multiple tags, a logical AND is made between tags

Parameters
Name Type Description
$tags array

array of tags

Returns
Type Description
array array of matching cache ids (string)
methodpublicgetIdsNotMatchingTags( array $tags = array() ) : array

Return an array of stored cache ids which don't match given tags

In case of multiple tags, a logical OR is made between tags

Parameters
Name Type Description
$tags array

array of tags

Returns
Type Description
array array of not matching cache ids (string)
methodpublicgetMetadatas( string $id ) : array

Return an array of metadatas for the given cache id

The array must include these keys : - expire : the expire timestamp - tags : a string array of tags - mtime : timestamp of last modification time

Parameters
Name Type Description
$id string

cache id

Returns
Type Description
array array of metadatas (false if the cache id is not found)
methodpublicgetTags( ) : array

Return an array of stored tags

Returns
Type Description
array array of stored tags (string)
methodpublicload( string $id, boolean $doNotTestCacheValidity = false ) : string|false

Test if a cache is available for the given id and (if yes) return it (false else)

Note : return value is always "string" (unserialization is done by the core not by the backend)

Parameters
Name Type Description
$id string

Cache id

$doNotTestCacheValidity boolean

If set to true, the cache validity won't be tested

Returns
Type Description
string|false cached datas
methodpublicremove( string $id ) : boolean

Remove a cache record

Parameters
Name Type Description
$id string

Cache id

Returns
Type Description
boolean True if no problem
methodpublicsave( string $data, string $id, array $tags = array(), int $specificLifetime = false, int $priority = 8 ) : boolean

Save some string datas into a cache record

Note : $data is always "string" (serialization is done by the core not by the backend)

Parameters
Name Type Description
$data string

Datas to cache

$id string

Cache id

$tags array

Array of strings, the cache record will be tagged by each string entry

$specificLifetime int

If != false, set a specific lifetime for this cache record (null => infinite lifetime)

$priority int

integer between 0 (very low priority) and 10 (maximum priority) used by some particular backends

Returns
Type Description
boolean true if no problem
methodpublictest( string $id ) : mixed|false

Test if a cache is available or not (for the given id)

Parameters
Name Type Description
$id string

cache id

Returns
Type Description
mixed|false (a cache is not available) or "last modified" timestamp (int) of the available cache record
methodpublictouch( string $id, int $extraLifetime ) : boolean

Give (if possible) an extra lifetime to the given cache id

Parameters
Name Type Description
$id string

cache id

$extraLifetime int
Returns
Type Description
boolean true if ok
Documentation was generated by DocBlox 0.15.1.