MediaWiki
1.23.2
|
interface is intended to be more or less compatible with the PHP memcached client. More...
Public Member Functions | |
add ( $key, $value, $exptime=0) | |
cas ( $casToken, $key, $value, $exptime=0) | |
Check and set an item. More... | |
clearLastError () | |
Clear the "last error" registry. More... | |
debug ( $text) | |
decr ( $key, $value=1) | |
Decrease stored value of $key by $value while preserving its TTL. More... | |
delete ( $key, $time=0) | |
Delete an item. More... | |
deleteObjectsExpiringBefore ( $date, $progressCallback=false) | |
Delete all objects expiring before a certain date. More... | |
get ( $key, &$casToken=null) | |
Get an item with the given key. More... | |
getLastError () | |
Get the "last error" registered; clearLastError() should be called manually. More... | |
getMulti (array $keys) | |
Get an associative array containing the item for each of the keys that have items. More... | |
incr ( $key, $value=1) | |
Increase stored value of $key by $value while preserving its TTL. More... | |
lock ( $key, $timeout=6) | |
merge ( $key, closure $callback, $exptime=0, $attempts=10) | |
Merge changes into the existing cache value (possibly creating a new one). More... | |
replace ( $key, $value, $exptime=0) | |
set ( $key, $value, $exptime=0) | |
Set an item. More... | |
setDebug ( $bool) | |
unlock ( $key) | |
Public Attributes | |
const | ERR_NO_RESPONSE = 1 |
const | ERR_NONE = 0 |
Possible values for getLastError() More... | |
const | ERR_UNEXPECTED = 3 |
const | ERR_UNREACHABLE = 2 |
Protected Member Functions | |
convertExpiry ( $exptime) | |
Convert an optionally relative time to an absolute time. More... | |
convertToRelative ( $exptime) | |
Convert an optionally absolute expiry time to a relative time. More... | |
isInteger ( $value) | |
Check if a value is an integer. More... | |
mergeViaCas ( $key, closure $callback, $exptime=0, $attempts=10) | |
mergeViaLock ( $key, closure $callback, $exptime=0, $attempts=10) | |
setLastError ( $err) | |
Set the "last error" registry. More... | |
Protected Attributes | |
$lastError = self::ERR_NONE | |
Private Attributes | |
$debugMode = false | |
interface is intended to be more or less compatible with the PHP memcached client.
backends for local hash array and SQL table included: $bag = new HashBagOStuff(); $bag = new SqlBagOStuff(); # connect to db first
Definition at line 43 of file BagOStuff.php.
BagOStuff::add | ( | $key, | |
$value, | |||
$exptime = 0 |
|||
) |
$key | string |
$value | mixed |
$exptime | integer |
Reimplemented in MemcachedPeclBagOStuff, MultiWriteBagOStuff, MemcachedBagOStuff, and RedisBagOStuff.
Definition at line 256 of file BagOStuff.php.
References $value.
Referenced by lock(), and mergeViaCas().
|
abstract |
Check and set an item.
$casToken | mixed | |
$key | string | |
$value | mixed | |
int | $exptime | Either an interval in seconds or a unix timestamp for expiry |
Reimplemented in SqlBagOStuff, MemcachedPeclBagOStuff, HashBagOStuff, MemcachedBagOStuff, MultiWriteBagOStuff, XCacheBagOStuff, WinCacheBagOStuff, APCBagOStuff, RedisBagOStuff, and EmptyBagOStuff.
Referenced by mergeViaCas().
BagOStuff::clearLastError | ( | ) |
Clear the "last error" registry.
Reimplemented in MultiWriteBagOStuff.
Definition at line 323 of file BagOStuff.php.
References ERR_NONE.
Referenced by lock().
|
protected |
Convert an optionally relative time to an absolute time.
$exptime | integer |
Definition at line 351 of file BagOStuff.php.
Referenced by HashBagOStuff\set().
|
protected |
Convert an optionally absolute expiry time to a relative time.
If an absolute time is specified which is in the past, use a short expiry time.
$exptime | integer |
Definition at line 366 of file BagOStuff.php.
Referenced by RedisBagOStuff\add(), RedisBagOStuff\cas(), and RedisBagOStuff\set().
BagOStuff::debug | ( | $text | ) |
$text | string |
Definition at line 339 of file BagOStuff.php.
References wfDebug().
Referenced by RedisBagOStuff\getMulti(), SqlBagOStuff\getMulti(), and RedisBagOStuff\logRequest().
BagOStuff::decr | ( | $key, | |
$value = 1 |
|||
) |
Decrease stored value of $key by $value while preserving its TTL.
$key | String |
$value | Integer |
Reimplemented in MemcachedPeclBagOStuff, MultiWriteBagOStuff, XCacheBagOStuff, APCBagOStuff, and MemcachedPhpBagOStuff.
Definition at line 306 of file BagOStuff.php.
|
abstract |
Delete an item.
$key | string | |
int | $time | Amount of time to delay the operation (mostly memcached-specific) |
Reimplemented in SqlBagOStuff, MemcachedPeclBagOStuff, RedisBagOStuff, HashBagOStuff, MultiWriteBagOStuff, MemcachedBagOStuff, XCacheBagOStuff, WinCacheBagOStuff, APCBagOStuff, and EmptyBagOStuff.
BagOStuff::deleteObjectsExpiringBefore | ( | $date, | |
$progressCallback = false |
|||
) |
Delete all objects expiring before a certain date.
string | $date | The reference date in MW format |
$progressCallback | callback|bool Optional, a function which will be called regularly during long-running operations with the percentage progress as the first parameter. |
Reimplemented in SqlBagOStuff, and MultiWriteBagOStuff.
Definition at line 227 of file BagOStuff.php.
|
abstract |
Get an item with the given key.
Returns false if it does not exist.
$key | string |
$casToken[optional] | mixed |
Reimplemented in SqlBagOStuff, MemcachedPeclBagOStuff, RedisBagOStuff, MultiWriteBagOStuff, MemcachedBagOStuff, HashBagOStuff, WinCacheBagOStuff, XCacheBagOStuff, EmptyBagOStuff, and APCBagOStuff.
Referenced by JobQueueDB\doDeduplicateRootJob().
BagOStuff::getLastError | ( | ) |
Get the "last error" registered; clearLastError() should be called manually.
Reimplemented in MultiWriteBagOStuff.
Definition at line 315 of file BagOStuff.php.
References $lastError.
Referenced by lock().
BagOStuff::getMulti | ( | array | $keys | ) |
Get an associative array containing the item for each of the keys that have items.
array | $keys | List of strings |
Reimplemented in MemcachedPeclBagOStuff, SqlBagOStuff, RedisBagOStuff, and MemcachedPhpBagOStuff.
Definition at line 239 of file BagOStuff.php.
BagOStuff::incr | ( | $key, | |
$value = 1 |
|||
) |
Increase stored value of $key by $value while preserving its TTL.
string | $key | Key to increase |
$value | Integer: Value to add to $key (Default 1) |
Reimplemented in RedisBagOStuff, MemcachedPeclBagOStuff, MultiWriteBagOStuff, XCacheBagOStuff, APCBagOStuff, MemcachedPhpBagOStuff, and SqlBagOStuff.
Definition at line 284 of file BagOStuff.php.
References $n, $value, isInteger(), lock(), and unlock().
Referenced by decr().
|
protected |
Check if a value is an integer.
$value | mixed |
Definition at line 384 of file BagOStuff.php.
References $value.
Referenced by APCBagOStuff\get(), XCacheBagOStuff\get(), incr(), APCBagOStuff\set(), and XCacheBagOStuff\set().
BagOStuff::lock | ( | $key, | |
$timeout = 6 |
|||
) |
$key | string |
$timeout | integer [optional] |
Reimplemented in MultiWriteBagOStuff, and MemcachedPhpBagOStuff.
Definition at line 179 of file BagOStuff.php.
References $sleep, $timestamp, add(), clearLastError(), and getLastError().
Referenced by incr(), and mergeViaLock().
BagOStuff::merge | ( | $key, | |
closure | $callback, | ||
$exptime = 0 , |
|||
$attempts = 10 |
|||
) |
Merge changes into the existing cache value (possibly creating a new one).
The callback function returns the new value given the current value (possibly false), and takes the arguments: (this BagOStuff object, cache key, current value).
$key | string | |
$callback | closure Callback method to be executed | |
int | $exptime | Either an interval in seconds or a unix timestamp for expiry |
int | $attempts | The amount of times to attempt a merge in case of failure |
Reimplemented in MultiWriteBagOStuff, XCacheBagOStuff, APCBagOStuff, and EmptyBagOStuff.
Definition at line 110 of file BagOStuff.php.
References mergeViaCas().
|
protected |
$key | string | |
$callback | closure Callback method to be executed | |
int | $exptime | Either an interval in seconds or a unix timestamp for expiry |
int | $attempts | The amount of times to attempt a merge in case of failure |
Definition at line 123 of file BagOStuff.php.
References $success, $value, add(), and cas().
Referenced by merge().
|
protected |
$key | string | |
$callback | closure Callback method to be executed | |
int | $exptime | Either an interval in seconds or a unix timestamp for expiry |
int | $attempts | The amount of times to attempt a merge in case of failure |
Definition at line 152 of file BagOStuff.php.
References $success, $value, lock(), and unlock().
Referenced by APCBagOStuff\merge(), and XCacheBagOStuff\merge().
BagOStuff::replace | ( | $key, | |
$value, | |||
$exptime = 0 |
|||
) |
$key | string |
$value | mixed |
$exptime | int |
Reimplemented in MultiWriteBagOStuff.
Definition at line 270 of file BagOStuff.php.
References $value, and wfDeprecated().
|
abstract |
Set an item.
$key | string | |
$value | mixed | |
int | $exptime | Either an interval in seconds or a unix timestamp for expiry |
Reimplemented in SqlBagOStuff, MemcachedPeclBagOStuff, MultiWriteBagOStuff, HashBagOStuff, MemcachedBagOStuff, APCBagOStuff, RedisBagOStuff, XCacheBagOStuff, WinCacheBagOStuff, and EmptyBagOStuff.
Referenced by JobQueueDB\doDeduplicateRootJob().
BagOStuff::setDebug | ( | $bool | ) |
$bool | bool |
Reimplemented in MultiWriteBagOStuff, and MemcachedPhpBagOStuff.
Definition at line 57 of file BagOStuff.php.
|
protected |
Set the "last error" registry.
$err | integer ERR_* constant |
Definition at line 332 of file BagOStuff.php.
Referenced by MemcachedPeclBagOStuff\checkResult(), RedisBagOStuff\getConnection(), RedisBagOStuff\handleException(), SqlBagOStuff\handleReadError(), and SqlBagOStuff\handleWriteError().
BagOStuff::unlock | ( | $key | ) |
$key | string |
Reimplemented in MultiWriteBagOStuff, and MemcachedPhpBagOStuff.
Definition at line 214 of file BagOStuff.php.
Referenced by incr(), and mergeViaLock().
|
private |
Definition at line 44 of file BagOStuff.php.
|
protected |
Definition at line 46 of file BagOStuff.php.
Referenced by getLastError().
const BagOStuff::ERR_NO_RESPONSE = 1 |
Definition at line 50 of file BagOStuff.php.
const BagOStuff::ERR_NONE = 0 |
Possible values for getLastError()
Definition at line 49 of file BagOStuff.php.
Referenced by clearLastError(), and MultiWriteBagOStuff\getLastError().
const BagOStuff::ERR_UNEXPECTED = 3 |
Definition at line 52 of file BagOStuff.php.
Referenced by MemcachedPeclBagOStuff\checkResult(), RedisBagOStuff\handleException(), SqlBagOStuff\handleReadError(), and SqlBagOStuff\handleWriteError().
const BagOStuff::ERR_UNREACHABLE = 2 |
Definition at line 51 of file BagOStuff.php.
Referenced by RedisBagOStuff\getConnection(), SqlBagOStuff\handleReadError(), and SqlBagOStuff\handleWriteError().