Cache/Backend/Libmemcached.php

Show: PublicProtectedPrivateinherited
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: Libmemcached.php 24593 2012-01-05 20:35:02Z matthew $  

\Zend_Cache_Backend_Libmemcached

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  

Constants

>VConstant  DEFAULT_HOST = '127.0.0.1'
Default Server Values
>VConstant  DEFAULT_PORT = 11211
>VConstant  DEFAULT_WEIGHT = 1
>VConstant  TAGS_UNSUPPORTED_BY_CLEAN_OF_LIBMEMCACHED_BACKEND = 'Zend_Cache_Backend_Libmemcached::clean() : tags are unsupported by the Libmemcached backend'
Log message
>VConstant  TAGS_UNSUPPORTED_BY_SAVE_OF_LIBMEMCACHED_BACKEND = 'Zend_Cache_Backend_Libmemcached::save() : tags are unsupported by the Libmemcached backend'

Properties

>VPropertyprotectedarray $_directives = array('lifetime' => 3600, 'logging' => false, 'logger' => null)
inherited
Frontend or Core directives
Inherited from: \Zend_Cache_Backend::$$_directives

=====> (int) lifetime : - Cache lifetime (in seconds) - If null, the cache is valid forever

=====> (int) logging : - if set to true, a logging is activated throw Zend_Log

Default valuearray('lifetime' => 3600, 'logging' => false, 'logger' => null)Details
Type
array
Inherited_from
\Zend_Cache_Backend::$$_directives  
>VPropertyprotectedmixed $_memcache = null
Memcached object
Default valuenullDetails
Type
mixed
>VPropertyprotectedarray $_options = array('servers' => array(array('host' => self::DEFAULT_HOST, 'port' => self::DEFAULT_PORT, 'weight' => self::DEFAULT_WEIGHT)), 'client' => array())
Available options

=====> (array) servers : an array of memcached server ; each memcached server is described by an associative array : 'host' => (string) : the name of the memcached server 'port' => (int) : the port of the memcached server 'weight' => (int) : number of buckets to create for this server which in turn control its probability of it being selected. The probability is relative to the total weight of all servers. =====> (array) client : an array of memcached client options ; the memcached client is described by an associative array :

Default valuearray('servers' => array(array('host' => self::DEFAULT_HOST, 'port' => self::DEFAULT_PORT, 'weight' => self::DEFAULT_WEIGHT)), 'client' => array())Details
Type
array
See
- The option name can be the name of the constant without the prefix 'OPT_' or the integer value of this option constant  

Methods

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

Constructor

Parameters
NameTypeDescription
$optionsarray

associative array of options

Throws
ExceptionDescription
\Zend_Cache_Exception
methodprotected_isGoodTmpDir(string $dir) : boolean
inherited

Verify if the given temporary directory is readable and writable

Inherited from: \Zend_Cache_Backend::_isGoodTmpDir()
Parameters
NameTypeDescription
$dirstring

temporary directory

Returns
TypeDescription
booleantrue if the directory is ok
methodprotected_log(string $message,  $priority = 4) : void
inherited

Log a message at the WARN (4) priority.

Inherited from: \Zend_Cache_Backend::_log()
Parameters
NameTypeDescription
$messagestring
$priority
Throws
ExceptionDescription
\Zend_Cache_Exception
methodprotected_loggerSanity() : void
inherited

Make sure if we enable logging that the Zend_Log class is available.

Inherited from: \Zend_Cache_Backend::_loggerSanity()

Create a default log object if none is set.

Throws
ExceptionDescription
\Zend_Cache_Exception
methodpublicclean(string $mode = \Zend_Cache::CLEANING_MODE_ALL, array $tags = array()) : boolean

Clean some cache records

Available modes are : 'all' (default) => remove all cache entries ($tags is not used) 'old' => unsupported 'matchingTag' => unsupported 'notMatchingTag' => unsupported 'matchingAnyTag' => unsupported

Parameters
NameTypeDescription
$modestring

Clean mode

$tagsarray

Array of tags

Returns
TypeDescription
booleanTrue if no problem
Throws
ExceptionDescription
\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
TypeDescription
arrayassociative of with capabilities
methodpublicgetFillingPercentage() : int

Return the filling percentage of the backend storage

Returns
TypeDescription
intinteger between 0 and 100
Throws
ExceptionDescription
\Zend_Cache_Exception
methodpublicgetIds() : array

Return an array of stored cache ids

Returns
TypeDescription
arrayarray 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
NameTypeDescription
$tagsarray

array of tags

Returns
TypeDescription
arrayarray 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
NameTypeDescription
$tagsarray

array of tags

Returns
TypeDescription
arrayarray 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
NameTypeDescription
$tagsarray

array of tags

Returns
TypeDescription
arrayarray of not matching cache ids (string)
methodpublicgetLifetime(int $specificLifetime) : int
inherited

Get the life time

Inherited from: \Zend_Cache_Backend::getLifetime()

if $specificLifetime is not false, the given specific life time is used else, the global lifetime is used

Parameters
NameTypeDescription
$specificLifetimeint
Returns
TypeDescription
intCache life time
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
NameTypeDescription
$idstring

cache id

Returns
TypeDescription
arrayarray of metadatas (false if the cache id is not found)
methodpublicgetOption(string $name) : mixed
inherited

Returns an option

Inherited from: \Zend_Cache_Backend::getOption()
Parameters
NameTypeDescription
$namestring

Optional, the options name to return

Returns
TypeDescription
mixed
Throws
ExceptionDescription
\Zend_Cache_Exceptions
methodpublicgetTags() : array

Return an array of stored tags

Returns
TypeDescription
arrayarray of stored tags (string)
methodpublicgetTmpDir() : string
inherited

Determine system TMP directory and detect if we have read access

Inherited from: \Zend_Cache_Backend::getTmpDir()

inspired from Zend_File_Transfer_Adapter_Abstract

Returns
TypeDescription
string
Throws
ExceptionDescription
\Zend_Cache_Exceptionif unable to determine directory
methodpublicisAutomaticCleaningAvailable() : boolean

Return true if the automatic cleaning is available for the backend

DEPRECATED : use getCapabilities() instead

Returns
TypeDescription
boolean
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
NameTypeDescription
$idstring

Cache id

$doNotTestCacheValidityboolean

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

Returns
TypeDescription
string | falsecached datas
methodpublicremove(string $id) : boolean

Remove a cache record

Parameters
NameTypeDescription
$idstring

Cache id

Returns
TypeDescription
booleanTrue if no problem
methodpublicsave(string $data, string $id, array $tags = array(), int $specificLifetime = false) : 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
NameTypeDescription
$datastring

Datas to cache

$idstring

Cache id

$tagsarray

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

$specificLifetimeint

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

Returns
TypeDescription
booleanTrue if no problem
methodpublicsetDirectives(array $directives) : void

Set the frontend directives

Parameters
NameTypeDescription
$directivesarray

Assoc of directives

Throws
ExceptionDescription
\Zend_Cache_Exception
methodpublicsetOption(string $name, mixed $value) : void
inherited

Set an option

Inherited from: \Zend_Cache_Backend::setOption()
Parameters
NameTypeDescription
$namestring
$valuemixed
Throws
ExceptionDescription
\Zend_Cache_Exception
methodpublictest(string $id) : int | false

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

Parameters
NameTypeDescription
$idstring

Cache id

Returns
TypeDescription
int | 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
NameTypeDescription
$idstring

cache id

$extraLifetimeint
Returns
TypeDescription
booleantrue if ok
Documentation was generated by phpDocumentor 2.0.0a12.