Path

ez components / documentation / api reference / 2007.2 / cache


Cache: ezcCacheStorageApc

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

Class: ezcCacheStorageApc

This class is a common base class for all APC based storage classes. [source]
To implement an APC based cache storage, you simply have to derive from this class and implement the ezcCacheStorageApc::fetchData() and ezcCacheStorageApc::prepareData() methods.
For example code of using a cache storage, see ezcCacheManager.
The Cache package already contains these implementations of this class:

Parents

ezcCacheStorage
   |
   --ezcCacheStorageMemory
      |
      --ezcCacheStorageApc

Descendents

Child Class Description
ezcCacheStorageApcPlain This storage implementation stores data in an APC cache.
ezcCacheStorageFileApcArray This class is a replacement for the ezcCacheStorageFileArray class. Tries to serve data from a local APC cache if possible.

Constants

BACKEND_NAME = "Apc" The backend name.
REGISTRY_NAME = 'ezcCacheStorageApc_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 ezcCacheStorageApc __construct( [$location = null], [$options = array()] )
Creates a new cache storage in the given location.
protected abstract mixed fetchData( $identifier )
Fetches data from the cache.
protected abstract mixed prepareData( $data )
Prepares 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

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

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.

Redefined in descendants as

Method Description
ezcCacheStorageFileApcArray::__construct() Creates a new cache storage in the given location. The location in case of this storage class must a valid file system directory.

fetchData

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

Parameters

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

Redefined in descendants as

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

prepareData

mixed prepareData( mixed $data )
Prepares 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
ezcCacheStorageApcPlain::prepareData() Wraps the data in an ezcCacheStorageMemoryDataStruct structure in order to store it.
ezcCacheStorageFileApcArray::prepareData() Wraps the data in order to be stored in APC ($useApc = true) or on the file system ($useApc = false).

Last updated: Mon, 17 Dec 2007