Elgg  Version 5.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Elgg\Cache\LRUCache Class Reference

Least Recently Used Cache. More...

Inheritance diagram for Elgg\Cache\LRUCache:
Elgg\Cache\QueryCache

Public Member Functions

 __construct (int $size)
 Create a LRU Cache. More...
 
 get ($key, $default=null)
 Get the value cached with this key. More...
 
 set ($key, $value)
 Add something to the cache. More...
 
 size ()
 Get the number of elements in the cache. More...
 
 containsKey ($key)
 Does the cache contain an element with this key. More...
 
 remove ($key)
 Remove the element with this key. More...
 
 clear ()
 Clear the cache. 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...
 

Protected Member Functions

 recordAccess ($key)
 Moves the element from current position to end of array. More...
 

Protected Attributes

 $maximumSize
 
 $data = []
 

Detailed Description

Least Recently Used Cache.

A fixed sized cache that removes the element used last when it reaches its size limit.

Based on https://github.com/cash/LRUCache

Definition at line 17 of file LRUCache.php.

Constructor & Destructor Documentation

Elgg\Cache\LRUCache::__construct ( int  $size)

Create a LRU Cache.

Parameters
int$sizeThe size of the cache
Exceptions
RangeException

Definition at line 38 of file LRUCache.php.

Member Function Documentation

Elgg\Cache\LRUCache::clear ( )

Clear the cache.

Returns
void

Definition at line 128 of file LRUCache.php.

Elgg\Cache\LRUCache::containsKey (   $key)

Does the cache contain an element with this key.

Parameters
int | string$keyThe key
Returns
boolean

Definition at line 102 of file LRUCache.php.

Elgg\Cache\LRUCache::get (   $key,
  $default = null 
)

Get the value cached with this key.

Parameters
int | string$keyThe key. Strings that are ints are cast to ints.
mixed$defaultThe value to be returned if key not found. (Optional)
Returns
mixed

Definition at line 54 of file LRUCache.php.

Elgg\Cache\LRUCache::offsetExists (   $offset)

Does key exist?

Parameters
int | string$offsetA key to check for.
Returns
boolean
See also
::offsetExists()

Definition at line 194 of file LRUCache.php.

Elgg\Cache\LRUCache::offsetGet (   $offset)

Get the value for specified key.

Parameters
int | string$offsetThe key to retrieve.
Returns
mixed
See also
::offsetGet()

Definition at line 168 of file LRUCache.php.

Elgg\Cache\LRUCache::offsetSet (   $offset,
  $value 
)

Assigns a value for the specified key.

Parameters
int | string$offsetThe key to assign the value to.
mixed$valueThe value to set.
Returns
void
See also
::offsetSet()

Definition at line 155 of file LRUCache.php.

Elgg\Cache\LRUCache::offsetUnset (   $offset)

Unsets a key.

Parameters
int | string$offsetThe key to unset.
Returns
void
See also
::offsetUnset()

Definition at line 181 of file LRUCache.php.

Elgg\Cache\LRUCache::recordAccess (   $key)
protected

Moves the element from current position to end of array.

Parameters
int | string$keyThe key
Returns
void

Definition at line 139 of file LRUCache.php.

Elgg\Cache\LRUCache::remove (   $key)

Remove the element with this key.

Parameters
int | string$keyThe key
Returns
mixed Value or null if not set

Definition at line 113 of file LRUCache.php.

Elgg\Cache\LRUCache::set (   $key,
  $value 
)

Add something to the cache.

Parameters
int | string$keyThe key. Strings that are ints are cast to ints.
mixed$valueThe value to cache
Returns
void

Definition at line 72 of file LRUCache.php.

Elgg\Cache\LRUCache::size ( )

Get the number of elements in the cache.

Returns
int

Definition at line 91 of file LRUCache.php.

Member Data Documentation

Elgg\Cache\LRUCache::$data = []
protected

Definition at line 29 of file LRUCache.php.

Elgg\Cache\LRUCache::$maximumSize
protected

Definition at line 22 of file LRUCache.php.


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