Elgg  Version 6.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Elgg\Cache\CompositeCache Class Reference

Composite cache pool. More...

Inheritance diagram for Elgg\Cache\CompositeCache:
Elgg\Cache\BaseCache

Public Member Functions

 __construct ($namespace, Config $config, $flags, bool $validate_lastcache=true)
 Constructor. More...
 
 save ($key, $data, $expire_after=null)
 Save data in a cache. More...
 
 load ($key)
 Load data from the cache using a given key. More...
 
 delete ($key)
 
 clear ()
 
 invalidate ()
 
 purge ()
 
 setNamespace ($namespace= 'default')
 Set the namespace of this cache. More...
 
 getNamespace ()
 Get the namespace currently defined. More...
 
- Public Member Functions inherited from Elgg\Cache\BaseCache
 __construct ()
 Set the constructor. More...
 
 setVariable (string $variable, $value)
 Set a cache variable. More...
 
 getVariable (string $variable)
 Get variables for this cache. More...
 
 __get (string $key)
 Class member get overloading, returning key using $this->load defaults. More...
 
 __set (string $key, $value)
 Class member set overloading, setting a key using $this->save defaults. More...
 
 __isset (string $key)
 Supporting isset, using $this->load() with default values. More...
 
 __unset (string $key)
 Supporting unsetting of magic attributes. More...
 
 save ($key, $data, $expire_after=null)
 Save data in a cache. More...
 
 load ($key)
 Load data from the cache using a given key. More...
 
 delete ($key)
 Invalidate a key. More...
 
 clear ()
 Clear out all the contents of the cache. More...
 
 invalidate ()
 Invalidate the contents of the cache. More...
 
 purge ()
 Purge old/stale contents of the cache. More...
 
 disable ()
 Disable cache Do not write or read from cache. More...
 
 enable ()
 Enable disabled cache. More...
 
 populate (array $values, int $expires_after=null)
 Populate cache from an array of key => values. More...
 
 add (string $key, $data)
 Add a key only if it doesn't already exist. More...
 
 offsetSet ($offset, $value)
 Assigns a value for the specified key. More...
 
 offsetGet ($offset)
 Get the value for specified key. More...
 
 offsetUnset ($offset)
 Unsets a key. More...
 
 offsetExists ($offset)
 Does key exist. More...
 

Static Public Member Functions

static isMemcacheAvailable ()
 Helper function to check if memcache is available. More...
 
static isRedisAvailable ()
 Helper function to check if Redis is available. More...
 

Protected Member Functions

 prefixInstanceId (string $id)
 Prefixes instance ids with namespace. More...
 
 sanitizeItemKey ($key)
 Sanitizes item key for cache. More...
 
 createPool ()
 Create a new cluster/pool of drivers. More...
 
 buildRedisDriver ()
 Builds Redis driver. More...
 
 buildMemcachedDriver ()
 Builds Memcached driver. More...
 
 buildFileSystemDriver ()
 Builds file system driver. More...
 
 buildLocalFileSystemDriver ()
 Builds local file system driver. More...
 
 buildEphemeralDriver ()
 Builds in-memory driver. More...
 
 buildBlackHoleDriver ()
 Builds null cache driver. More...
 

Protected Attributes

 $ttl = 86400
 TTL of saved items (default timeout after a day to prevent anything getting too stale) More...
 
 $config
 
 $flags
 
 $pool
 
 $namespace
 
 $validate_lastcache
 
- Protected Attributes inherited from Elgg\Cache\BaseCache
 $disabled = false
 

Detailed Description

Composite cache pool.

Definition at line 20 of file CompositeCache.php.

Constructor & Destructor Documentation

Elgg\Cache\CompositeCache::__construct (   $namespace,
Config  $config,
  $flags,
bool  $validate_lastcache = true 
)

Constructor.

Parameters
string$namespaceCache namespace
Config$configElgg config
int$flagsStart flags
bool$validate_lastcacheDuring load validate ElggConfig::lastcache

Definition at line 60 of file CompositeCache.php.

Member Function Documentation

Elgg\Cache\CompositeCache::buildBlackHoleDriver ( )
protected

Builds null cache driver.

Returns
null|ExtendedCacheItemPoolInterface

Definition at line 382 of file CompositeCache.php.

Elgg\Cache\CompositeCache::buildEphemeralDriver ( )
protected

Builds in-memory driver.

Returns
null|ExtendedCacheItemPoolInterface

Definition at line 365 of file CompositeCache.php.

Elgg\Cache\CompositeCache::buildFileSystemDriver ( )
protected

Builds file system driver.

Returns
null|ExtendedCacheItemPoolInterface

Definition at line 315 of file CompositeCache.php.

Elgg\Cache\CompositeCache::buildLocalFileSystemDriver ( )
protected

Builds local file system driver.

Returns
null|ExtendedCacheItemPoolInterface

Definition at line 340 of file CompositeCache.php.

Elgg\Cache\CompositeCache::buildMemcachedDriver ( )
protected

Builds Memcached driver.

Returns
null|ExtendedCacheItemPoolInterface

Definition at line 294 of file CompositeCache.php.

Elgg\Cache\CompositeCache::buildRedisDriver ( )
protected

Builds Redis driver.

Returns
null|ExtendedCacheItemPoolInterface

Definition at line 273 of file CompositeCache.php.

Elgg\Cache\CompositeCache::clear ( )

Definition at line 147 of file CompositeCache.php.

Elgg\Cache\CompositeCache::createPool ( )
protected

Create a new cluster/pool of drivers.

Returns
ExtendedCacheItemPoolInterface
Exceptions
ConfigurationException

Definition at line 228 of file CompositeCache.php.

Elgg\Cache\CompositeCache::delete (   $key)

Definition at line 136 of file CompositeCache.php.

Elgg\Cache\CompositeCache::getNamespace ( )

Get the namespace currently defined.

Returns
string

Definition at line 186 of file CompositeCache.php.

Elgg\Cache\CompositeCache::invalidate ( )

Definition at line 154 of file CompositeCache.php.

static Elgg\Cache\CompositeCache::isMemcacheAvailable ( )
static

Helper function to check if memcache is available.

Returns
bool
Since
4.2

Definition at line 399 of file CompositeCache.php.

static Elgg\Cache\CompositeCache::isRedisAvailable ( )
static

Helper function to check if Redis is available.

Returns
bool
Since
4.2

Definition at line 410 of file CompositeCache.php.

Elgg\Cache\CompositeCache::load (   $key)

Load data from the cache using a given key.

Parameters
string$keyName
Returns
mixed The stored data or false.

Definition at line 105 of file CompositeCache.php.

Elgg\Cache\CompositeCache::prefixInstanceId ( string  $id)
protected

Prefixes instance ids with namespace.

Parameters
string$idinstance id
Returns
string
Since
4.2

Definition at line 199 of file CompositeCache.php.

Elgg\Cache\CompositeCache::purge ( )

Definition at line 163 of file CompositeCache.php.

Elgg\Cache\CompositeCache::sanitizeItemKey (   $key)
protected

Sanitizes item key for cache.

Parameters
mixed$keyinput key
Returns
string
Exceptions
InvalidArgumentException
Since
4.2

Definition at line 214 of file CompositeCache.php.

Elgg\Cache\CompositeCache::save (   $key,
  $data,
  $expire_after = null 
)

Save data in a cache.

Parameters
string$keyName
mixed$dataValue
int | \DateTime$expire_afterExpire value after
Returns
bool

Definition at line 79 of file CompositeCache.php.

Elgg\Cache\CompositeCache::setNamespace (   $namespace = 'default')

Set the namespace of this cache.

This is useful for cache types (like memcache or static variables) where there is one large flat area of memory shared across all instances of the cache.

Parameters
string$namespaceNamespace for cache
Returns
void

Definition at line 177 of file CompositeCache.php.

Member Data Documentation

Elgg\Cache\CompositeCache::$config
protected

Definition at line 30 of file CompositeCache.php.

Elgg\Cache\CompositeCache::$flags
protected

Definition at line 35 of file CompositeCache.php.

Elgg\Cache\CompositeCache::$namespace
protected

Definition at line 45 of file CompositeCache.php.

Elgg\Cache\CompositeCache::$pool
protected

Definition at line 40 of file CompositeCache.php.

Elgg\Cache\CompositeCache::$ttl = 86400
protected

TTL of saved items (default timeout after a day to prevent anything getting too stale)

Definition at line 25 of file CompositeCache.php.

Elgg\Cache\CompositeCache::$validate_lastcache
protected

Definition at line 50 of file CompositeCache.php.


The documentation for this class was generated from the following file: