Handles a simple LRU key/value map with a maximum number of entries.
More...
|
| __construct ( $maxKeys) |
|
| clear ( $keys=null) |
| Clear one or several cache entries, or all cache entries.
|
|
| get ( $key) |
| Get the value for a key.
|
|
| getAllKeys () |
|
| getWithSetCallback ( $key, callable $callback, $rank=1.0) |
| Get an item with the given key, producing and setting it if not found.
|
|
| has ( $key) |
| Check if a key exists.
|
|
| set ( $key, $value, $rank=1.0) |
| Set a key/value pair.
|
|
| toArray () |
|
|
| ping ( $key) |
| Push an entry to the top of the cache.
|
|
Handles a simple LRU key/value map with a maximum number of entries.
Use ProcessCacheLRU if hierarchical purging is needed or objects can become stale
- See also
- ProcessCacheLRU
- Since
- 1.23
Definition at line 34 of file MapCacheLRU.php.
◆ __construct()
MapCacheLRU::__construct |
( |
|
$maxKeys | ) |
|
- Parameters
-
int | $maxKeys | Maximum number of entries allowed (min 1). |
- Exceptions
-
Exception | When $maxCacheKeys is not an int or not above zero. |
Definition at line 44 of file MapCacheLRU.php.
◆ clear()
MapCacheLRU::clear |
( |
|
$keys = null | ) |
|
◆ get()
Get the value for a key.
This returns null if the key is not set. If the item is already set, it will be pushed to the top of the cache.
- Parameters
-
- Returns
- mixed Returns null if the key was not found
Definition at line 130 of file MapCacheLRU.php.
References cache, has(), and ping().
◆ getAllKeys()
MapCacheLRU::getAllKeys |
( |
| ) |
|
◆ getWithSetCallback()
MapCacheLRU::getWithSetCallback |
( |
|
$key, |
|
|
callable |
$callback, |
|
|
|
$rank = 1.0 |
|
) |
| |
Get an item with the given key, producing and setting it if not found.
If the callback returns false, then nothing is stored.
- Since
- 1.28
- Parameters
-
string | $key | |
callable | $callback | Callback that will produce the value |
float | $rank | Bottom fraction of the list where keys start off [Default: 1.0] |
- Returns
- mixed The cached value if found or the result of $callback otherwise
Definition at line 159 of file MapCacheLRU.php.
References $value, and has().
◆ has()
◆ newFromArray()
static MapCacheLRU::newFromArray |
( |
array |
$values, |
|
|
|
$maxKeys |
|
) |
| |
|
static |
- Parameters
-
array | $values | Key/value map in order of increasingly recent access |
int | $maxKeys | |
- Returns
- MapCacheLRU
- Since
- 1.30
Definition at line 57 of file MapCacheLRU.php.
◆ ping()
MapCacheLRU::ping |
( |
|
$key | ) |
|
|
protected |
◆ set()
MapCacheLRU::set |
( |
|
$key, |
|
|
|
$value, |
|
|
|
$rank = 1.0 |
|
) |
| |
Set a key/value pair.
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.
To reduce evictions due to one-off use of many new keys, $rank can be set to have keys start at the top of a bottom fraction of the list. A value of 3/8 means values start at the top of the bottom 3/8s of the list and are moved to the top of the list when accessed a second time.
- Parameters
-
string | $key | |
mixed | $value | |
float | $rank | Bottom fraction of the list where keys start off [Default: 1.0] |
- Returns
- void
Definition at line 89 of file MapCacheLRU.php.
References $value, cache, has(), key, and ping().
◆ toArray()
- Returns
- array Key/value map in order of increasingly recent access
- Since
- 1.30
Definition at line 70 of file MapCacheLRU.php.
References $cache.
◆ $cache
array MapCacheLRU::$cache = [] |
|
protected |
◆ $maxCacheKeys
MapCacheLRU::$maxCacheKeys |
|
protected |
The documentation for this class was generated from the following file: