MediaWiki
REL1_22
|
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. | |
debug ($text) | |
decr ($key, $value=1) | |
Decrease stored value of $key by $value while preserving its TTL. | |
delete ($key, $time=0) | |
Delete an item. | |
deleteObjectsExpiringBefore ($date, $progressCallback=false) | |
Delete all objects expiring before a certain date. | |
get ($key, &$casToken=null) | |
Get an item with the given key. | |
getMulti (array $keys) | |
Get an associative array containing the item for each of the keys that have items. | |
incr ($key, $value=1) | |
Increase stored value of $key by $value while preserving its TTL. | |
lock ($key, $timeout=60) | |
merge ($key, closure $callback, $exptime=0, $attempts=10) | |
Merge changes into the existing cache value (possibly creating a new one). | |
replace ($key, $value, $exptime=0) | |
set ($key, $value, $exptime=0) | |
Set an item. | |
setDebug ($bool) | |
unlock ($key) | |
Protected Member Functions | |
convertExpiry ($exptime) | |
Convert an optionally relative time to an absolute time. | |
convertToRelative ($exptime) | |
Convert an optionally absolute expiry time to a relative time. | |
isInteger ($value) | |
Check if a value is an integer. | |
mergeViaCas ($key, closure $callback, $exptime=0, $attempts=10) | |
mergeViaLock ($key, closure $callback, $exptime=0, $attempts=10) | |
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 DBABagOStuff, RedisBagOStuff, MemcachedPeclBagOStuff, MultiWriteBagOStuff, and MemcachedBagOStuff.
Definition at line 241 of file BagOStuff.php.
Referenced by lock(), and mergeViaCas().
BagOStuff::cas | ( | $ | casToken, |
$ | key, | ||
$ | value, | ||
$ | exptime = 0 |
||
) | [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, DBABagOStuff, EhcacheBagOStuff, MemcachedPeclBagOStuff, RedisBagOStuff, HashBagOStuff, MemcachedBagOStuff, MultiWriteBagOStuff, XCacheBagOStuff, WinCacheBagOStuff, APCBagOStuff, and EmptyBagOStuff.
Referenced by mergeViaCas().
BagOStuff::convertExpiry | ( | $ | exptime | ) | [protected] |
Convert an optionally relative time to an absolute time.
$exptime | integer |
Definition at line 308 of file BagOStuff.php.
Referenced by DBABagOStuff\encode(), HashBagOStuff\set(), and EhcacheBagOStuff\set().
BagOStuff::convertToRelative | ( | $ | exptime | ) | [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 323 of file BagOStuff.php.
BagOStuff::debug | ( | $ | text | ) |
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 289 of file BagOStuff.php.
BagOStuff::delete | ( | $ | key, |
$ | time = 0 |
||
) | [abstract] |
Delete an item.
$key | string | |
int | $time | Amount of time to delay the operation (mostly memcached-specific) |
Reimplemented in SqlBagOStuff, DBABagOStuff, EhcacheBagOStuff, 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 212 of file BagOStuff.php.
BagOStuff::get | ( | $ | key, |
&$ | casToken = null |
||
) | [abstract] |
Get an item with the given key.
Returns false if it does not exist.
$key | string |
$casToken[optional] | mixed |
Reimplemented in SqlBagOStuff, MemcachedPeclBagOStuff, DBABagOStuff, EhcacheBagOStuff, RedisBagOStuff, MultiWriteBagOStuff, MemcachedBagOStuff, HashBagOStuff, WinCacheBagOStuff, XCacheBagOStuff, EmptyBagOStuff, and APCBagOStuff.
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 224 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 SqlBagOStuff, DBABagOStuff, MemcachedPeclBagOStuff, MultiWriteBagOStuff, XCacheBagOStuff, APCBagOStuff, and MemcachedPhpBagOStuff.
Definition at line 267 of file BagOStuff.php.
References $key, $n, $value, isInteger(), lock(), and unlock().
Referenced by decr().
BagOStuff::isInteger | ( | $ | value | ) | [protected] |
Check if a value is an integer.
$value | mixed |
Definition at line 341 of file BagOStuff.php.
References $value.
Referenced by APCBagOStuff\get(), XCacheBagOStuff\get(), incr(), APCBagOStuff\set(), and XCacheBagOStuff\set().
BagOStuff::lock | ( | $ | key, |
$ | timeout = 60 |
||
) |
$key | string |
$timeout | integer [optional] |
Reimplemented in MultiWriteBagOStuff, and MemcachedPhpBagOStuff.
Definition at line 171 of file BagOStuff.php.
References $sleep, $timestamp, and add().
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 EhcacheBagOStuff, MultiWriteBagOStuff, XCacheBagOStuff, APCBagOStuff, and EmptyBagOStuff.
Definition at line 102 of file BagOStuff.php.
References $key, and mergeViaCas().
BagOStuff::mergeViaCas | ( | $ | key, |
closure $ | callback, | ||
$ | exptime = 0 , |
||
$ | attempts = 10 |
||
) | [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 115 of file BagOStuff.php.
References $key, $success, $value, add(), and cas().
Referenced by merge().
BagOStuff::mergeViaLock | ( | $ | key, |
closure $ | callback, | ||
$ | exptime = 0 , |
||
$ | attempts = 10 |
||
) | [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 144 of file BagOStuff.php.
References $key, $success, $value, lock(), and unlock().
Referenced by APCBagOStuff\merge(), XCacheBagOStuff\merge(), and EhcacheBagOStuff\merge().
BagOStuff::replace | ( | $ | key, |
$ | value, | ||
$ | exptime = 0 |
||
) |
$key | string |
$value | mixed |
$exptime | int |
Reimplemented in RedisBagOStuff, MemcachedPeclBagOStuff, MultiWriteBagOStuff, and MemcachedBagOStuff.
Definition at line 254 of file BagOStuff.php.
BagOStuff::set | ( | $ | key, |
$ | value, | ||
$ | exptime = 0 |
||
) | [abstract] |
Set an item.
$key | string | |
$value | mixed | |
int | $exptime | Either an interval in seconds or a unix timestamp for expiry |
Reimplemented in SqlBagOStuff, DBABagOStuff, MemcachedPeclBagOStuff, EhcacheBagOStuff, MultiWriteBagOStuff, RedisBagOStuff, HashBagOStuff, MemcachedBagOStuff, XCacheBagOStuff, WinCacheBagOStuff, APCBagOStuff, and EmptyBagOStuff.
BagOStuff::setDebug | ( | $ | bool | ) |
$bool | bool |
Reimplemented in MultiWriteBagOStuff, and MemcachedPhpBagOStuff.
Definition at line 49 of file BagOStuff.php.
BagOStuff::unlock | ( | $ | key | ) |
$key | string |
Reimplemented in MultiWriteBagOStuff, and MemcachedPhpBagOStuff.
Definition at line 199 of file BagOStuff.php.
Referenced by incr(), and mergeViaLock().
BagOStuff::$debugMode = false [private] |
Definition at line 44 of file BagOStuff.php.