|
MediaWiki
REL1_21
|
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.
References $value.
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, RedisBagOStuff, MemcachedPeclBagOStuff, 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, DBABagOStuff, MemcachedPeclBagOStuff, 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, RedisBagOStuff, DBABagOStuff, MemcachedPeclBagOStuff, MultiWriteBagOStuff, XCacheBagOStuff, APCBagOStuff, and MemcachedPhpBagOStuff.
Definition at line 267 of file BagOStuff.php.
References $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 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 $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 $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.
References $value.
| 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.