MediaWiki REL1_32
|
Wrapper around a BagOStuff that caches data in memory. More...
Public Member Functions | |
__construct (BagOStuff $backend, $params=[]) | |
clearLastError () | |
Clear the "last error" registry. | |
delete ( $key, $flags=0) | |
deleteObjectsExpiringBefore ( $date, $progressCallback=false) | |
Delete all objects expiring before a certain date. | |
getLastError () | |
Get the "last error" registered; clearLastError() should be called manually. | |
lock ( $key, $timeout=6, $expiry=6, $rclass='') | |
Acquire an advisory lock on a key string. | |
makeGlobalKey ( $class, $component=null) | |
Make a global cache key. | |
makeKey ( $class, $component=null) | |
Make a cache key, scoped to this instance's keyspace. | |
makeKeyInternal ( $keyspace, $args) | |
Construct a cache key. | |
modifySimpleRelayEvent (array $event) | |
Modify a cache update operation array for EventRelayer::notify() | |
set ( $key, $value, $exptime=0, $flags=0) | |
Set an item. | |
setDebug ( $bool) | |
unlock ( $key) | |
Release an advisory lock on a key string. | |
Public Member Functions inherited from HashBagOStuff | |
__construct ( $params=[]) | |
clear () | |
delete ( $key) | |
Delete an item. | |
Public Member Functions inherited from BagOStuff | |
__construct (array $params=[]) | |
$params include: | |
add ( $key, $value, $exptime=0) | |
addBusyCallback (callable $workCallback) | |
Let a callback be run to avoid wasting time on special blocking calls. | |
changeTTL ( $key, $expiry=0) | |
Reset the TTL on a key if it exists. | |
decr ( $key, $value=1) | |
Decrease stored value of $key by $value while preserving its TTL. | |
get ( $key, $flags=0, $oldFlags=null) | |
Get an item with the given key. | |
getMulti (array $keys, $flags=0) | |
Get an associative array containing the item for each of the keys that have items. | |
getQoS ( $flag) | |
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. | |
incr ( $key, $value=1) | |
Increase stored value of $key by $value while preserving its TTL. | |
incrWithInit ( $key, $ttl, $value=1, $init=1) | |
Increase stored value of $key by $value while preserving its TTL. | |
merge ( $key, callable $callback, $exptime=0, $attempts=10, $flags=0) | |
Merge changes into the existing cache value (possibly creating a new one) | |
setLogger (LoggerInterface $logger) | |
setMockTime (&$time) | |
setMulti (array $data, $exptime=0) | |
Batch insertion. | |
Protected Member Functions | |
doGet ( $key, $flags=0) | |
Protected Member Functions inherited from HashBagOStuff | |
expire ( $key) | |
hasKey ( $key) | |
Does this bag have a non-null value for the given key? | |
Protected Member Functions inherited from BagOStuff | |
cas ( $casToken, $key, $value, $exptime=0) | |
Check and set an item. | |
convertExpiry ( $exptime) | |
Convert an optionally relative time to an absolute time. | |
convertToRelative ( $exptime) | |
Convert an optionally absolute expiry time to a relative time. | |
debug ( $text) | |
getCurrentTime () | |
getWithToken ( $key, &$casToken, $flags=0) | |
isInteger ( $value) | |
Check if a value is an integer. | |
mergeFlagMaps (array $bags) | |
Merge the flag maps of one or more BagOStuff objects into a "lowest common denominator" map. | |
mergeViaCas ( $key, $callback, $exptime=0, $attempts=10) | |
mergeViaLock ( $key, $callback, $exptime=0, $attempts=10, $flags=0) | |
setLastError ( $err) | |
Set the "last error" registry. | |
Protected Attributes | |
BagOStuff | $backend |
Protected Attributes inherited from HashBagOStuff | |
mixed[] | $bag = [] |
int | $maxCacheKeys |
Max entries allowed. | |
Protected Attributes inherited from BagOStuff | |
callback null | $asyncHandler |
int[] | $attrMap = [] |
Map of (ATTR_* class constant => QOS_* class constant) | |
callable[] | $busyCallbacks = [] |
string | $keyspace = 'local' |
int | $lastError = self::ERR_NONE |
ERR_* class constant. | |
array[] | $locks = [] |
Lock tracking. | |
LoggerInterface | $logger |
int | $syncTimeout |
Seconds. | |
Additional Inherited Members | |
Public Attributes inherited from HashBagOStuff | |
const | KEY_EXP = 1 |
const | KEY_VAL = 0 |
Public Attributes inherited from BagOStuff | |
const | ERR_NO_RESPONSE = 1 |
const | ERR_NONE = 0 |
Possible values for getLastError() | |
const | ERR_UNEXPECTED = 3 |
const | ERR_UNREACHABLE = 2 |
const | READ_LATEST = 1 |
Bitfield constants for get()/getMulti() | |
const | READ_VERIFIED = 2 |
const | WRITE_CACHE_ONLY = 2 |
const | WRITE_SYNC = 1 |
Bitfield constants for set()/merge() | |
Public Attributes inherited from IExpiringStore | |
const | ATTR_EMULATION = 1 |
const | ATTR_SYNCWRITES = 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 |
Wrapper around a BagOStuff that caches data in memory.
The differences between CachedBagOStuff and MultiWriteBagOStuff are:
Definition at line 36 of file CachedBagOStuff.php.
CachedBagOStuff::__construct | ( | BagOStuff | $backend, |
$params = [] ) |
BagOStuff | $backend | Permanent backend to use |
array | $params | Parameters for HashBagOStuff |
Definition at line 44 of file CachedBagOStuff.php.
References $params.
CachedBagOStuff::clearLastError | ( | ) |
Clear the "last error" registry.
Reimplemented from BagOStuff.
Definition at line 116 of file CachedBagOStuff.php.
CachedBagOStuff::delete | ( | $key, | |
$flags = 0 ) |
Definition at line 70 of file CachedBagOStuff.php.
CachedBagOStuff::deleteObjectsExpiringBefore | ( | $date, | |
$progressCallback = false ) |
Delete all objects expiring before a certain date.
string | $date | The reference date in MW format |
callable | bool | $progressCallback | Optional, a function which will be called regularly during long-running operations with the percentage progress as the first parameter. |
Reimplemented from BagOStuff.
Definition at line 84 of file CachedBagOStuff.php.
|
protected |
string | $key | |
int | $flags | Bitfield of BagOStuff::READ_* constants [optional] |
Reimplemented from HashBagOStuff.
Definition at line 53 of file CachedBagOStuff.php.
References $ret, and HashBagOStuff\hasKey().
CachedBagOStuff::getLastError | ( | ) |
Get the "last error" registered; clearLastError() should be called manually.
Reimplemented from BagOStuff.
Definition at line 112 of file CachedBagOStuff.php.
CachedBagOStuff::lock | ( | $key, | |
$timeout = 6, | |||
$expiry = 6, | |||
$rclass = '' ) |
Acquire an advisory lock on a key string.
Note that if reentry is enabled, duplicate calls ignore $expiry
string | $key | |
int | $timeout | Lock wait timeout; 0 for non-blocking [optional] |
int | $expiry | Lock expiry [optional]; 1 day maximum |
string | $rclass | Allow reentry if set and the current lock used this value |
Reimplemented from BagOStuff.
Definition at line 104 of file CachedBagOStuff.php.
CachedBagOStuff::makeGlobalKey | ( | $class, | |
$component = null ) |
Make a global cache key.
string | $class | Key class |
string | null | $component | [optional] Key component (starting with a key collection name) |
Reimplemented from BagOStuff.
Definition at line 97 of file CachedBagOStuff.php.
CachedBagOStuff::makeKey | ( | $class, | |
$component = null ) |
Make a cache key, scoped to this instance's keyspace.
string | $class | Key class |
string | null | $component | [optional] Key component (starting with a key collection name) |
Reimplemented from BagOStuff.
Definition at line 93 of file CachedBagOStuff.php.
Referenced by MediaWiki\Session\SessionBackend\__construct(), MediaWiki\Session\TestBagOStuff\deleteSession(), MediaWiki\Session\TestBagOStuff\getSession(), MediaWiki\Session\TestBagOStuff\getSessionFromBackend(), and MediaWiki\Session\TestBagOStuff\setRawSession().
CachedBagOStuff::makeKeyInternal | ( | $keyspace, | |
$args ) |
Construct a cache key.
string | $keyspace | |
array | $args |
Reimplemented from BagOStuff.
Definition at line 89 of file CachedBagOStuff.php.
CachedBagOStuff::modifySimpleRelayEvent | ( | array | $event | ) |
Modify a cache update operation array for EventRelayer::notify()
This is used for relayed writes, e.g. for broadcasting a change to multiple data-centers. If the array contains a 'val' field then the command involves setting a key to that value. Note that for simplicity, 'val' is always a simple scalar value. This method is used to possibly serialize the value and add any cache-specific key/values needed for the relayer daemon (e.g. memcached flags).
array | $event |
Reimplemented from BagOStuff.
Definition at line 120 of file CachedBagOStuff.php.
CachedBagOStuff::set | ( | $key, | |
$value, | |||
$exptime = 0, | |||
$flags = 0 ) |
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 HashBagOStuff.
Definition at line 62 of file CachedBagOStuff.php.
References $value.
CachedBagOStuff::setDebug | ( | $bool | ) |
bool | $bool |
Reimplemented from BagOStuff.
Definition at line 79 of file CachedBagOStuff.php.
CachedBagOStuff::unlock | ( | $key | ) |
Release an advisory lock on a key string.
string | $key |
Reimplemented from BagOStuff.
Definition at line 108 of file CachedBagOStuff.php.
|
protected |
Definition at line 38 of file CachedBagOStuff.php.