MediaWiki REL1_28
ProcessCacheLRU Class Reference

Handles per process caching of items. More...

Inheritance diagram for ProcessCacheLRU:

Public Member Functions

 __construct ( $maxKeys)
 
 clear ( $keys=null)
 Clear one or several cache entries, or all cache entries.
 
 get ( $key, $prop)
 Get a property field for a cache entry.
 
 getSize ()
 Get cache size.
 
 has ( $key, $prop, $maxAge=0.0)
 Check if a property field exists for a cache entry.
 
 resize ( $maxKeys)
 Resize the maximum number of cache entries, removing older entries as needed.
 
 set ( $key, $prop, $value)
 Set a property field for a cache entry.
 

Protected Member Functions

 ping ( $key)
 Push an entry to the top of the cache.
 

Protected Attributes

Array $cache = []
 
Array $cacheTimes = []
 
 $maxCacheKeys
 

Detailed Description

Handles per process caching of items.

Definition at line 29 of file ProcessCacheLRU.php.

Constructor & Destructor Documentation

◆ __construct()

ProcessCacheLRU::__construct (   $maxKeys)
Parameters
int$maxKeysMaximum number of entries allowed (min 1).
Exceptions
UnexpectedValueExceptionWhen $maxCacheKeys is not an int or =< 0.

Definition at line 42 of file ProcessCacheLRU.php.

References resize().

Member Function Documentation

◆ clear()

ProcessCacheLRU::clear (   $keys = null)

Clear one or several cache entries, or all cache entries.

Parameters
string | array$keys
Returns
void

Definition at line 110 of file ProcessCacheLRU.php.

References $keys, array(), as, and cache.

◆ get()

ProcessCacheLRU::get (   $key,
  $prop 
)

Get a property field for a cache entry.

This returns null if the property is not set. If the item is already set, it will be pushed to the top of the cache.

Parameters
string$key
string$prop
Returns
mixed

Definition at line 96 of file ProcessCacheLRU.php.

References cache, and ping().

Referenced by JobQueueGroup\queuesHaveJobs().

◆ getSize()

ProcessCacheLRU::getSize ( )

Get cache size.

Returns
int

Definition at line 157 of file ProcessCacheLRU.php.

References $maxCacheKeys.

◆ has()

ProcessCacheLRU::has (   $key,
  $prop,
  $maxAge = 0.0 
)

Check if a property field exists for a cache entry.

Parameters
string$key
string$prop
float$maxAgeIgnore items older than this many seconds (since 1.21)
Returns
bool

Definition at line 77 of file ProcessCacheLRU.php.

References cache.

◆ ping()

ProcessCacheLRU::ping (   $key)
protected

Push an entry to the top of the cache.

Parameters
string$key

Definition at line 147 of file ProcessCacheLRU.php.

References cache.

Referenced by get(), and set().

◆ resize()

ProcessCacheLRU::resize (   $maxKeys)

Resize the maximum number of cache entries, removing older entries as needed.

Parameters
int$maxKeys
Returns
void
Exceptions
UnexpectedValueException

Definition at line 129 of file ProcessCacheLRU.php.

References cache, and key.

Referenced by __construct().

◆ set()

ProcessCacheLRU::set (   $key,
  $prop,
  $value 
)

Set a property field for a cache entry.

This will prune the cache if it gets too large based on LRU. If the item is already set, it will be pushed to the top of the cache.

Parameters
string$key
string$prop
mixed$value
Returns
void

Definition at line 56 of file ProcessCacheLRU.php.

References $value, cache, key, and ping().

Referenced by JobQueueGroup\push().

Member Data Documentation

◆ $cache

Array ProcessCacheLRU::$cache = []
protected

Definition at line 31 of file ProcessCacheLRU.php.

◆ $cacheTimes

Array ProcessCacheLRU::$cacheTimes = []
protected

Definition at line 34 of file ProcessCacheLRU.php.

◆ $maxCacheKeys

ProcessCacheLRU::$maxCacheKeys
protected

Definition at line 36 of file ProcessCacheLRU.php.

Referenced by getSize().


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