Elgg  Version master
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, $ttl=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 ($key, $value)
 Assigns a value for the specified key. More...
 
 offsetGet ($key)
 Get the value for specified key. More...
 
 offsetUnset ($key)
 Unsets a key. More...
 
 offsetExists ($key)
 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 18 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 58 of file CompositeCache.php.

Member Function Documentation

Elgg\Cache\CompositeCache::buildBlackHoleDriver ( )
protected

Builds null cache driver.

Returns
null|ExtendedCacheItemPoolInterface

Definition at line 375 of file CompositeCache.php.

Elgg\Cache\CompositeCache::buildEphemeralDriver ( )
protected

Builds in-memory driver.

Returns
null|ExtendedCacheItemPoolInterface

Definition at line 358 of file CompositeCache.php.

Elgg\Cache\CompositeCache::buildFileSystemDriver ( )
protected

Builds file system driver.

Returns
null|ExtendedCacheItemPoolInterface

Definition at line 308 of file CompositeCache.php.

Elgg\Cache\CompositeCache::buildLocalFileSystemDriver ( )
protected

Builds local file system driver.

Returns
null|ExtendedCacheItemPoolInterface

Definition at line 333 of file CompositeCache.php.

Elgg\Cache\CompositeCache::buildMemcachedDriver ( )
protected

Builds Memcached driver.

Returns
null|ExtendedCacheItemPoolInterface

Definition at line 287 of file CompositeCache.php.

Elgg\Cache\CompositeCache::buildRedisDriver ( )
protected

Builds Redis driver.

Returns
null|ExtendedCacheItemPoolInterface

Definition at line 266 of file CompositeCache.php.

Elgg\Cache\CompositeCache::clear ( )

Definition at line 139 of file CompositeCache.php.

Elgg\Cache\CompositeCache::createPool ( )
protected

Create a new cluster/pool of drivers.

Returns
ExtendedCacheItemPoolInterface
Exceptions
ConfigurationException

Definition at line 220 of file CompositeCache.php.

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

Definition at line 128 of file CompositeCache.php.

Elgg\Cache\CompositeCache::getNamespace ( )

Get the namespace currently defined.

Returns
string

Definition at line 178 of file CompositeCache.php.

Elgg\Cache\CompositeCache::invalidate ( )

Definition at line 146 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 392 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 403 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 103 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 191 of file CompositeCache.php.

Elgg\Cache\CompositeCache::purge ( )

Definition at line 155 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 206 of file CompositeCache.php.

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

Save data in a cache.

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

Definition at line 77 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 169 of file CompositeCache.php.

Member Data Documentation

Elgg\Cache\CompositeCache::$config
protected

Definition at line 28 of file CompositeCache.php.

Elgg\Cache\CompositeCache::$flags
protected

Definition at line 33 of file CompositeCache.php.

Elgg\Cache\CompositeCache::$namespace
protected

Definition at line 43 of file CompositeCache.php.

Elgg\Cache\CompositeCache::$pool
protected

Definition at line 38 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 23 of file CompositeCache.php.

Elgg\Cache\CompositeCache::$validate_lastcache
protected

Definition at line 48 of file CompositeCache.php.


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