MediaWiki REL1_34
|
Simple store for keeping values in an associative array for the current process. More...
Public Member Functions | |
__construct ( $params=[]) | |
clear () | |
Clear all values in cache. | |
decr ( $key, $value=1, $flags=0) | |
Decrease stored value of $key by $value while preserving its TTL. | |
hasKey ( $key) | |
Does this bag have a non-null value for the given key? | |
incr ( $key, $value=1, $flags=0) | |
Increase stored value of $key by $value while preserving its TTL. | |
Public Member Functions inherited from MediumSpecificBagOStuff | |
__construct (array $params=[]) | |
add ( $key, $value, $exptime=0, $flags=0) | |
Insert an item if it does not already exist. | |
addBusyCallback (callable $workCallback) | |
Let a callback be run to avoid wasting time on special blocking calls. | |
changeTTL ( $key, $exptime=0, $flags=0) | |
Change the expiration on a key if it exists. | |
changeTTLMulti (array $keys, $exptime, $flags=0) | |
Change the expiration of multiple keys that exist. | |
clearLastError () | |
Clear the "last error" registry. | |
delete ( $key, $flags=0) | |
Delete an item. | |
deleteMulti (array $keys, $flags=0) | |
Batch deletion. | |
deleteObjectsExpiringBefore ( $timestamp, callable $progress=null, $limit=INF) | |
Delete all objects expiring before a certain date. | |
get ( $key, $flags=0) | |
Get an item with the given key. | |
getLastError () | |
Get the "last error" registered; clearLastError() should be called manually. | |
getMulti (array $keys, $flags=0) | |
Get an associative array containing the item for each of the keys that have items. | |
getQoS ( $flag) | |
getSegmentationSize () | |
getSegmentedValueMaxSize () | |
incrWithInit ( $key, $exptime, $value=1, $init=null, $flags=0) | |
Increase the value of the given key (no TTL change) if it exists or create it otherwise. | |
lock ( $key, $timeout=6, $expiry=6, $rclass='') | |
Acquire an advisory lock on a key string. | |
makeGlobalKey ( $class,... $components) | |
Make a global cache key. | |
makeKey ( $class,... $components) | |
Make a cache key, scoped to this instance's keyspace. | |
makeKeyInternal ( $keyspace, $args) | |
Construct a cache key. | |
merge ( $key, callable $callback, $exptime=0, $attempts=10, $flags=0) | |
Merge changes into the existing cache value (possibly creating a new one) | |
set ( $key, $value, $exptime=0, $flags=0) | |
Set an item. | |
setMulti (array $data, $exptime=0, $flags=0) | |
Batch insertion/replace. | |
unlock ( $key) | |
Release an advisory lock on a key string. | |
Public Member Functions inherited from BagOStuff | |
getCurrentTime () | |
getScopedLock ( $key, $timeout=6, $expiry=30, $rclass='') | |
Get a lightweight exclusive self-unlocking lock. | |
getWithSetCallback ( $key, $ttl, $callback, $flags=0) | |
Get an item with the given key, regenerating and setting it if not found. | |
setDebug ( $enabled) | |
setLogger (LoggerInterface $logger) | |
setMockTime (&$time) | |
Public Attributes | |
const | KEY_CAS = 2 |
const | KEY_EXP = 1 |
const | KEY_VAL = 0 |
Public Attributes inherited from BagOStuff | |
const | READ_LATEST = 1 |
Bitfield constants for get()/getMulti(); these are only advisory. | |
const | READ_VERIFIED = 2 |
const | WRITE_ALLOW_SEGMENTS = 16 |
const | WRITE_BACKGROUND = 64 |
const | WRITE_CACHE_ONLY = 8 |
const | WRITE_PRUNE_SEGMENTS = 32 |
const | WRITE_SYNC = 4 |
Bitfield constants for set()/merge(); these are only advisory. | |
Public Attributes inherited from IExpiringStore | |
const | ATTR_EMULATION = 1 |
const | ATTR_SYNCWRITES = 2 |
const | ERR_NO_RESPONSE = 1 |
const | ERR_NONE = 0 |
const | ERR_UNEXPECTED = 3 |
const | ERR_UNREACHABLE = 2 |
const | QOS_EMULATION_SQL = 1 |
const | QOS_SYNCWRITES_BE = 2 |
const | QOS_SYNCWRITES_NONE = 1 |
const | QOS_SYNCWRITES_QC = 3 |
const | QOS_SYNCWRITES_SS = 4 |
const | QOS_UNKNOWN = INF |
const | TTL_DAY = 86400 |
const | TTL_HOUR = 3600 |
const | TTL_INDEFINITE = 0 |
const | TTL_MINUTE = 60 |
const | TTL_MONTH = 2592000 |
const | TTL_PROC_LONG = 30 |
const | TTL_PROC_SHORT = 3 |
const | TTL_SECOND = 1 |
const | TTL_WEEK = 604800 |
const | TTL_YEAR = 31536000 |
Protected Member Functions | |
doAdd ( $key, $value, $exptime=0, $flags=0) | |
Insert an item if it does not already exist. | |
doDelete ( $key, $flags=0) | |
Delete an item. | |
doGet ( $key, $flags=0, &$casToken=null) | |
doSet ( $key, $value, $exptime=0, $flags=0) | |
Set an item. | |
expire ( $key) | |
Protected Member Functions inherited from MediumSpecificBagOStuff | |
cas ( $casToken, $key, $value, $exptime=0, $flags=0) | |
Check and set an item. | |
debug ( $text) | |
doCas ( $casToken, $key, $value, $exptime=0, $flags=0) | |
Check and set an item. | |
doChangeTTL ( $key, $exptime, $flags) | |
doDeleteMulti (array $keys, $flags=0) | |
doGetMulti (array $keys, $flags=0) | |
Get an associative array containing the item for each of the keys that have items. | |
doSetMulti (array $data, $exptime=0, $flags=0) | |
getExpirationAsTimestamp ( $exptime) | |
Convert an optionally relative timestamp to an absolute time. | |
getExpirationAsTTL ( $exptime) | |
Convert an optionally absolute expiry time to a relative time. | |
isInteger ( $value) | |
Check if a value is an integer. | |
isRelativeExpiration ( $exptime) | |
makeValueOrSegmentList ( $key, $value, $exptime, $flags) | |
Determine the entry (inline or segment list) to store under a key to save the value. | |
mergeViaCas ( $key, callable $callback, $exptime, $attempts, $flags) | |
resolveSegments ( $key, $mainValue) | |
Get and reassemble the chunks of blob at the given key. | |
serialize ( $value) | |
setLastError ( $err) | |
Set the "last error" registry. | |
unserialize ( $value) | |
Protected Member Functions inherited from BagOStuff | |
fieldHasFlags ( $field, $flags) | |
mergeFlagMaps (array $bags) | |
Merge the flag maps of one or more BagOStuff objects into a "lowest common denominator" map. | |
Protected Attributes | |
mixed[] | $bag = [] |
int | $maxCacheKeys |
Max entries allowed. | |
Protected Attributes inherited from MediumSpecificBagOStuff | |
callable[] | $busyCallbacks = [] |
string | $keyspace = 'local' |
int | $lastError = self::ERR_NONE |
ERR_* class constant. | |
array[] | $locks = [] |
Lock tracking. | |
int | $segmentationSize |
Bytes; chunk size of segmented cache values. | |
int | $segmentedValueMaxSize |
Bytes; maximum total size of a segmented cache value. | |
int | $syncTimeout |
Seconds. | |
Protected Attributes inherited from BagOStuff | |
callable null | $asyncHandler |
int[] | $attrMap = [] |
Map of (ATTR_* class constant => QOS_* class constant) | |
bool | $debugMode = false |
LoggerInterface | $logger |
Private Attributes | |
string | $token |
CAS token prefix for this instance. | |
Static Private Attributes | |
static int | $casCounter = 0 |
CAS token counter. | |
Simple store for keeping values in an associative array for the current process.
Data will not persist and is not shared with other processes.
Definition at line 31 of file HashBagOStuff.php.
HashBagOStuff::__construct | ( | $params = [] | ) |
array | $params | Additional parameters include:
|
-param array{logger?:Psr\Log\LoggerInterface,asyncHandler?:callable,keyspace?:string,reportDupes?:bool,syncTimeout?:int,segmentationSize?:int,segmentedValueMaxSize?:int,maxKeys?:int} $params
Definition at line 54 of file HashBagOStuff.php.
HashBagOStuff::clear | ( | ) |
Clear all values in cache.
Definition at line 133 of file HashBagOStuff.php.
HashBagOStuff::decr | ( | $key, | |
$value = 1, | |||
$flags = 0 ) |
Decrease stored value of $key by $value while preserving its TTL.
string | $key | |
int | $value | Value to subtract from $key (default: 1) [optional] |
int | $flags | Bit field of class WRITE_* constants [optional] |
Reimplemented from BagOStuff.
Definition at line 126 of file HashBagOStuff.php.
References incr().
|
protected |
Insert an item if it does not already exist.
string | $key | |
mixed | $value | |
int | $exptime | |
int | $flags | Bitfield of BagOStuff::WRITE_* constants (since 1.33) |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 100 of file HashBagOStuff.php.
|
protected |
Delete an item.
string | $key | |
int | $flags | Bitfield of BagOStuff::WRITE_* constants |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 108 of file HashBagOStuff.php.
Referenced by expire().
|
protected |
string | $key | |
int | $flags | Bitfield of BagOStuff::READ_* constants [optional] |
mixed | null | &$casToken | Token to use for check-and-set comparisons |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 65 of file HashBagOStuff.php.
|
protected |
Set an item.
string | $key | |
mixed | $value | |
int | $exptime | Either an interval in seconds or a unix timestamp for expiry |
int | $flags | Bitfield of BagOStuff::WRITE_* constants |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 82 of file HashBagOStuff.php.
References MediumSpecificBagOStuff\getExpirationAsTimestamp().
Referenced by doAdd().
|
protected |
string | $key |
Definition at line 141 of file HashBagOStuff.php.
References doDelete(), and BagOStuff\getCurrentTime().
HashBagOStuff::hasKey | ( | $key | ) |
Does this bag have a non-null value for the given key?
string | $key |
Definition at line 159 of file HashBagOStuff.php.
HashBagOStuff::incr | ( | $key, | |
$value = 1, | |||
$flags = 0 ) |
Increase stored value of $key by $value while preserving its TTL.
string | $key | Key to increase |
int | $value | Value to add to $key (default: 1) [optional] |
int | $flags | Bit field of class WRITE_* constants [optional] |
Reimplemented from BagOStuff.
Definition at line 114 of file HashBagOStuff.php.
References MediumSpecificBagOStuff\isInteger().
Referenced by decr().
|
protected |
Definition at line 33 of file HashBagOStuff.php.
|
staticprivate |
CAS token counter.
Definition at line 41 of file HashBagOStuff.php.
|
protected |
Max entries allowed.
Definition at line 35 of file HashBagOStuff.php.
|
private |
CAS token prefix for this instance.
Definition at line 38 of file HashBagOStuff.php.
const HashBagOStuff::KEY_CAS = 2 |
Definition at line 45 of file HashBagOStuff.php.
const HashBagOStuff::KEY_EXP = 1 |
Definition at line 44 of file HashBagOStuff.php.
const HashBagOStuff::KEY_VAL = 0 |
Definition at line 43 of file HashBagOStuff.php.