Path

ez components / documentation / api reference / 2007.2 / cache


Cache: ezcCacheStorageMemcache

[ Tutorial ] [ Class tree ] [ Element index ] [ ChangeLog ] [ Credits ]

Class: ezcCacheStorageMemcache

This class is a common base class for all Memcache based storage classes. [source]
To implement a Memcache based cache storage, you simply have to derive from this class and implement the ezcCacheStorageMemcache::fetchData() and ezcCacheStorageMemcache::prepareData() methods.
For example code of using a cache storage, see ezcCacheManager.
The Cache package already contains an implementation this class: Options for this class are defined in ezcCacheStorageMemcacheOptions.

Parents

ezcCacheStorage
   |
   --ezcCacheStorageMemory
      |
      --ezcCacheStorageMemcache

Descendents

Child Class Description
ezcCacheStorageMemcachePlain This storage implementation stores data in a Memcache cache.

Constants

BACKEND_NAME = "Memcache" The backend name.
REGISTRY_NAME = 'ezcCacheStorageMemcache_Registry' The registry name.

Inherited Member Variables

From ezcCacheStorageMemory:
protected  ezcCacheStorageMemory::$backend
protected  ezcCacheStorageMemory::$backendName
protected  ezcCacheStorageMemory::$registry
protected  ezcCacheStorageMemory::$registryName
protected  ezcCacheStorageMemory::$searchRegistry
From ezcCacheStorage:
protected  ezcCacheStorage::$properties

Method Summary

public ezcCacheStorageMemcache __construct( [$location = null], [$options = array()] )
Creates a new cache storage in the given location.
protected abstract mixed fetchData( $identifier )
Fetches the data from the cache.
protected abstract mixed prepareData( $data )
Prepare the data for storing.

Inherited Methods

From ezcCacheStorageMemory :
public ezcCacheStorageMemory ezcCacheStorageMemory::__construct()
Creates a new cache storage in the given location.
protected int ezcCacheStorageMemory::calcLifetime()
Calculates the lifetime remaining for a cache object.
public int ezcCacheStorageMemory::countDataItems()
Returns the number of items in the cache matching a certain criteria.
public void ezcCacheStorageMemory::delete()
Deletes the data associated with $id or $attributes from the cache.
protected void ezcCacheStorageMemory::fetchSearchRegistry()
Fetches the search registry from the backend or creates it if empty.
protected string ezcCacheStorageMemory::generateAttrStr()
Generates a string from the $attributes array.
public string ezcCacheStorageMemory::generateIdentifier()
Generates the storage internal identifier from ID and attributes.
public int ezcCacheStorageMemory::getRemainingLifetime()
Returns the time in seconds which remains for a cache object, before it gets outdated. In case the cache object is already outdated or does not exists, this method returns 0.
protected void ezcCacheStorageMemory::registerIdentifier()
Registers an identifier to facilitate searching.
public mixed ezcCacheStorageMemory::restore()
Restores the data from the cache.
protected array(mixed) ezcCacheStorageMemory::search()
Searches the storage for data defined by ID and/or attributes.
public string ezcCacheStorageMemory::store()
Stores data to the cache storage under the key $id.
protected void ezcCacheStorageMemory::storeSearchRegistry()
Stores the search registry in the backend.
protected void ezcCacheStorageMemory::unRegisterIdentifier()
Un-registers a previously registered identifier.
protected void ezcCacheStorageMemory::validateLocation()
Checks if the location property is valid.
From ezcCacheStorage :
public ezcCacheStorage ezcCacheStorage::__construct()
Creates a new cache storage in the given location.
public abstract int ezcCacheStorage::countDataItems()
Return the number of items in the cache matching a certain criteria.
public abstract void ezcCacheStorage::delete()
Delete data from the cache.
public string ezcCacheStorage::getLocation()
Returns the location.
public ezcCacheStorageOptions ezcCacheStorage::getOptions()
Return the currently set options.
public abstract int ezcCacheStorage::getRemainingLifetime()
Returns the time ( in seconds ) that remains for a cache object, before it gets outdated. In case the cache object is already outdated or does not exists, this method returns 0.
public abstract mixed ezcCacheStorage::restore()
Restore data from the cache.
public void ezcCacheStorage::setOptions()
Set new options.
public abstract string ezcCacheStorage::store()
Store data to the cache storage.
protected abstract void ezcCacheStorage::validateLocation()
Checks if the location property is valid.

Methods

__construct

ezcCacheStorageMemcache __construct( [string $location = null], [ $options = array()] )
Creates a new cache storage in the given location.
Options can contain the 'ttl' ( Time-To-Life ). This is per default set to 1 day.
For details about the options see ezcCacheStorageMemcacheOptions.

Parameters

Name Type Description
$location string Path to the cache location
$options array(string=>string) Options for the cache

Throws

ClassDescription
ezcBasePropertyNotFoundException If you tried to set a non-existent option value.

Redefinition of

Method Description
ezcCacheStorageMemory::__construct() Creates a new cache storage in the given location.

fetchData

mixed fetchData( string $identifier )
Fetches the data from the cache.

Parameters

Name Type Description
$identifier string The memcache identifier to fetch data from

Redefined in descendants as

Method Description
ezcCacheStorageMemcachePlain::fetchData() Fetches data from the cache.

prepareData

mixed prepareData( mixed $data )
Prepare the data for storing.

Parameters

Name Type Description
$data mixed Simple type or array

Throws

ClassDescription
ezcCacheInvalidDataException If the data submitted can not be handled by this storage (object, resource).

Redefined in descendants as

Method Description
ezcCacheStorageMemcachePlain::prepareData() Wraps the data in an ezcCacheStorageMemoryDataStruct structure in order to store it.

Last updated: Mon, 17 Dec 2007