Path

ez components / documentation / api reference / 2008.2.3 / cache


eZ Components 2008.2.3

Cache: ezcCacheStorageFileApcArray

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

Class: ezcCacheStorageFileApcArray

This class is a replacement for the ezcCacheStorageFileArray class. Tries to serve data from a local APC cache if possible. [source]
Options for this class are defined in ezcCacheStorageFileApcArrayOptions.

Parents

ezcCacheStorage
   |
   --ezcCacheStorageMemory
      |
      --ezcCacheStorageApc
         |
         --ezcCacheStorageFileApcArray

Inherited Constants

From ezcCacheStorageApc:
ezcCacheStorageApc::BACKEND_NAME    The backend name.
ezcCacheStorageApc::REGISTRY_NAME    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 ezcCacheStorageFileApcArray __construct( $location, [$options = array()] )
Creates a new cache storage in the given location. The location in case of this storage class must a valid file system directory.
protected int calcLifetime( $filename, [$useApc = false] )
Calculates the lifetime remaining for a cache object.
public void delete( [$id = null], [$attributes = array()], [$search = false] )
Deletes the data associated with $id or $attributes from the cache.
protected mixed fetchData( $filename, [$useApc = false] )
Fetches the data from the cache.
protected mixed fetchObject( $filename )
Fetches the object from the cache.
protected mixed prepareData( $data, [$useApc = false] )
Wraps the data in order to be stored in APC ($useApc = true) or on the file system ($useApc = false).
public mixed restore( $id, [$attributes = array()], [$search = false] )
Restores the data from the cache.
public string store( $id, $data, [$attributes = array()] )
Stores data to the cache storage.
protected void validateLocation( )
Checks the path in the location property exists, and is read-/writable. It throws an exception if not.

Inherited Methods

From ezcCacheStorageApc :
public ezcCacheStorageApc ezcCacheStorageApc::__construct()
Creates a new cache storage in the given location.
protected abstract mixed ezcCacheStorageApc::fetchData()
Fetches data from the cache.
protected abstract mixed ezcCacheStorageApc::prepareData()
Prepares the data for storing.
public void ezcCacheStorageApc::setOptions()
Return the currently set options.
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.
public void ezcCacheStorageMemory::lock()
Acquire a lock on the storage.
public array(string) ezcCacheStorageMemory::purge()
Purge outdated data from the storage.
protected void ezcCacheStorageMemory::registerIdentifier()
Registers an identifier to facilitate searching.
public void ezcCacheStorageMemory::reset()
Reset the complete storage.
public mixed ezcCacheStorageMemory::restore()
Restores the data from the cache.
public ezcCacheStackMetaData ezcCacheStorageMemory::restoreMetaData()
Restores and returns the meta data struct.
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.
public void ezcCacheStorageMemory::storeMetaData()
Stores the given meta data struct.
protected void ezcCacheStorageMemory::storeSearchRegistry()
Stores the search registry in the backend.
public void ezcCacheStorageMemory::unlock()
Release a lock on the storage.
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 exist, 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

ezcCacheStorageFileApcArray __construct( string $location, [ $options = array()] )
Creates a new cache storage in the given location. The location in case of this storage class must a valid file system directory.
Options can contain the 'ttl' (Time-To-Live). This is per default set to 1 day. The option 'permissions' can be used to define the file permissions of created cache items.
For details about the options see ezcCacheStorageFileApcArrayOptions.

Parameters

Name Type Description
$location string Path to the cache location. Must be a valid path
$options array(string=>string) Options for the cache storage

Throws

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

Redefinition of

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

calcLifetime

int calcLifetime( string $filename, [bool $useApc = false] )
Calculates the lifetime remaining for a cache object.
If the TTL option is set to false, this method will always return 1 for existing items.

Parameters

Name Type Description
$filename string The file to calculate the remaining lifetime for
$useApc bool Use APC or not

Redefinition of

Method Description
ezcCacheStorageMemory::calcLifetime() Calculates the lifetime remaining for a cache object.

delete

void delete( [string $id = null], [array(string=>string) $attributes = array()], [bool $search = false] )
Deletes the data associated with $id or $attributes from the cache.

Parameters

Name Type Description
$id string The item ID to purge
$attributes array(string=>string) Attributes describing the data to restore
$search bool Whether to search for items if not found directly

Throws

ClassDescription
ezcBaseFilePermissionException If an already existsing cache file could not be unlinked. This exception means most likely that your cache directory has been corrupted by external influences (file permission change).

Redefinition of

Method Description
ezcCacheStorageMemory::delete() Deletes the data associated with $id or $attributes from the cache.

fetchData

mixed fetchData( string $filename, [bool $useApc = false] )
Fetches the data from the cache.

Parameters

Name Type Description
$filename string The ID/filename from where to fetch the object
$useApc bool Use APC or the file system

Redefinition of

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

fetchObject

mixed fetchObject( string $filename )
Fetches the object from the cache.

Parameters

Name Type Description
$filename string The ID/filename from where to fetch the data

prepareData

mixed prepareData( mixed $data, [bool $useApc = false] )
Wraps the data in order to be stored in APC ($useApc = true) or on the file system ($useApc = false).

Parameters

Name Type Description
$data mixed Simple type or array
$useApc bool Use APC or not

Throws

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

Redefinition of

Method Description
ezcCacheStorageApc::prepareData() Prepares the data for storing.

restore

mixed restore( string $id, [array(string=>string) $attributes = array()], [bool $search = false] )
Restores the data from the cache.

Parameters

Name Type Description
$id string The item ID to restore
$attributes array(string=>string) Attributes describing the data to restore
$search bool Whether to search for items if not found directly

Redefinition of

Method Description
ezcCacheStorageMemory::restore() Restores the data from the cache.

store

string store( string $id, mixed $data, [array(string=>string) $attributes = array()] )
Stores data to the cache storage.

Parameters

Name Type Description
$id string Unique identifier
$data mixed The data to store
$attributes array(string=>string) Attributes describing the cached data

Throws

ClassDescription
ezcBaseFilePermissionException If the directory to store the cache file could not be created. This exception means most likely that your cache directory has been corrupted by external influences (file permission change).
ezcBaseFileIoException If an error occured while writing the data to the cache. If this exception occurs, a serious error occured and your storage might be corruped (e.g. broken network connection, file system broken, ...).
ezcCacheInvalidDataException If the data submitted can not be handled by the implementation of ezcCacheStorageFile. Most implementations can not handle objects and resources.
ezcCacheApcException If the data could not be stored in APC.

Redefinition of

Method Description
ezcCacheStorageMemory::store() Stores data to the cache storage under the key $id.

validateLocation

void validateLocation( )
Checks the path in the location property exists, and is read-/writable. It throws an exception if not.

Throws

ClassDescription
ezcBaseFileNotFoundException If the storage location does not exist. This should usually not happen, since ezcCacheManager::createCache() already performs sanity checks for the cache location. In case this exception is thrown, your cache location has been corrupted after the cache was configured.
ezcBaseFileNotFoundException If the storage location is not a directory. This should usually not happen, since ezcCacheManager::createCache() already performs sanity checks for the cache location. In case this exception is thrown, your cache location has been corrupted after the cache was configured.
ezcBaseFilePermissionException If the storage location is not writeable. This should usually not happen, since ezcCacheManager::createCache() already performs sanity checks for the cache location. In case this exception is thrown, your cache location has been corrupted after the cache was configured.

Redefinition of

Method Description
ezcCacheStorageMemory::validateLocation() Checks if the location property is valid.

Last updated: Mon, 11 May 2009