API Documentation

Cache/Backend/TwoLevels.php

Includes Classes 
category
Zend
copyright
Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
license
http://framework.zend.com/license/new-bsd New BSD License
package
Zend_Cache
subpackage
Zend_Cache_Backend
version
$Id: TwoLevels.php 22737 2010-07-30 16:30:42Z andyfowler $
Classes
Zend_Cache_Backend_TwoLevels

Description

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.

Zend_Cache_Backend_TwoLevels

Extends from
Zend_Cache_Backend
Implements
Zend_Cache_Backend_ExtendedInterface
copyright
Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
license
http://framework.zend.com/license/new-bsd New BSD License
package
Zend_Cache
subpackage
Zend_Cache_Backend
Properties
$_options
$_slowBackend
$_fastBackend
$_fastBackendFillingPercentage
Methods
__construct
test
save
load
remove
clean
getIds
getTags
getIdsMatchingTags
getIdsNotMatchingTags
getIdsMatchingAnyTags
getFillingPercentage
getMetadatas
touch
getCapabilities
_prepareData
_getFastLifetime
___expire
_getFastFillingPercentage

Description

Properties

$_fastBackend

Zend_Cache_Backend_ExtendedInterface $_fastBackend = ''

Fast Backend

Details

$_fastBackend
Zend_Cache_Backend_ExtendedInterface
visibility
protected
default
final
false
static
false

$_fastBackendFillingPercentage

int $_fastBackendFillingPercentage = 'null'

Cache for the fast backend filling percentage

Details

$_fastBackendFillingPercentage
int
visibility
protected
default
null
final
false
static
false

$_options

array $_options = 'array'

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

Details

$_options
array
available options
visibility
protected
default
array
final
false
static
false

$_slowBackend

Zend_Cache_Backend_ExtendedInterface $_slowBackend = ''

Slow Backend

Details

$_slowBackend
Zend_Cache_Backend_ExtendedInterface
visibility
protected
default
final
false
static
false

Methods

___expire

___expire( string $id ) :

PUBLIC METHOD FOR UNIT TESTING ONLY !

Force a cache record to expire

Arguments
$id
string
cache id
Details
visibility
public
final
false
static
false

__construct

__construct( array $options = array ) : void

Constructor

Arguments
$options
array
Associative array of options
Details
visibility
public
final
false
static
false
throws

_getFastFillingPercentage

_getFastFillingPercentage(  $mode ) :
Arguments
$mode
Details
visibility
private
final
false
static
false

_getFastLifetime

_getFastLifetime( int $lifetime, int $priority, int $maxLifetime = null ) : int

Compute and return the lifetime for the fast backend

Arguments
$lifetime
int
original lifetime
$priority
int
priority
$maxLifetime
int
maximum lifetime
Output
int
lifetime for the fast backend
Details
visibility
private
final
false
static
false

_prepareData

_prepareData( string $data, int $lifetime, int $priority ) : string

Prepare a serialized array to store datas and metadatas informations

Arguments
$data
string
data to store
$lifetime
int
original lifetime
$priority
int
priority
Output
string
serialize array to store into cache
Details
visibility
private
final
false
static
false

clean

clean( string $mode = Zend_Cache, 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)

Arguments
$mode
string
Clean mode
$tags
array
Array of tags
Output
boolean
true if no problem
Details
visibility
public
final
false
static
false
throws

getCapabilities

getCapabilities( ) : 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)

Output
array
associative of with capabilities
Details
visibility
public
final
false
static
false

getFillingPercentage

getFillingPercentage( ) : int

Return the filling percentage of the backend storage

Output
int
integer between 0 and 100
Details
visibility
public
final
false
static
false

getIds

getIds( ) : array

Return an array of stored cache ids

Output
array
array of stored cache ids (string)
Details
visibility
public
final
false
static
false

getIdsMatchingAnyTags

getIdsMatchingAnyTags( 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

Arguments
$tags
array
array of tags
Output
array
array of any matching cache ids (string)
Details
visibility
public
final
false
static
false

getIdsMatchingTags

getIdsMatchingTags( 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

Arguments
$tags
array
array of tags
Output
array
array of matching cache ids (string)
Details
visibility
public
final
false
static
false

getIdsNotMatchingTags

getIdsNotMatchingTags( 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

Arguments
$tags
array
array of tags
Output
array
array of not matching cache ids (string)
Details
visibility
public
final
false
static
false

getMetadatas

getMetadatas( 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

Arguments
$id
string
cache id
Output
array
array of metadatas (false if the cache id is not found)
Details
visibility
public
final
false
static
false

getTags

getTags( ) : array

Return an array of stored tags

Output
array
array of stored tags (string)
Details
visibility
public
final
false
static
false

load

load( 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)

Arguments
$id
string
Cache id
$doNotTestCacheValidity
boolean
If set to true, the cache validity won't be tested
Output
string|false
cached datas
Details
visibility
public
final
false
static
false

remove

remove( string $id ) : boolean

Remove a cache record

Arguments
$id
string
Cache id
Output
boolean
True if no problem
Details
visibility
public
final
false
static
false

save

save( 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)

Arguments
$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
Output
boolean
true if no problem
Details
visibility
public
final
false
static
false

test

test( string $id ) : mixed|false

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

Arguments
$id
string
cache id
Output
mixed|false
(a cache is not available) or "last modified" timestamp (int) of the available cache record
Details
visibility
public
final
false
static
false

touch

touch( string $id, int $extraLifetime ) : boolean

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

Arguments
$id
string
cache id
$extraLifetime
int
Output
boolean
true if ok
Details
visibility
public
final
false
static
false
Documentation was generated by DocBlox.