MediaWiki REL1_34
|
Base class for memcached clients. More...
Public Member Functions | |
__construct (array $params) | |
makeKeyInternal ( $keyspace, $args) | |
Construct a cache key. | |
validateKeyEncoding ( $key) | |
Ensure that a key is safe to use (contains no control characters and no characters above the ASCII range.) | |
Public Member Functions inherited from MediumSpecificBagOStuff | |
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. | |
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 | |
decr ( $key, $value=1, $flags=0) | |
Decrease stored value of $key by $value while preserving its TTL. | |
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. | |
incr ( $key, $value=1, $flags=0) | |
Increase stored value of $key by $value while preserving its TTL. | |
setDebug ( $enabled) | |
setLogger (LoggerInterface $logger) | |
setMockTime (&$time) | |
Protected Member Functions | |
fixExpiry ( $exptime) | |
Protected Member Functions inherited from MediumSpecificBagOStuff | |
cas ( $casToken, $key, $value, $exptime=0, $flags=0) | |
Check and set an item. | |
debug ( $text) | |
doAdd ( $key, $value, $exptime=0, $flags=0) | |
Insert an item if it does not already exist. | |
doCas ( $casToken, $key, $value, $exptime=0, $flags=0) | |
Check and set an item. | |
doChangeTTL ( $key, $exptime, $flags) | |
doDelete ( $key, $flags=0) | |
Delete an item. | |
doDeleteMulti (array $keys, $flags=0) | |
doGet ( $key, $flags=0, &$casToken=null) | |
doGetMulti (array $keys, $flags=0) | |
Get an associative array containing the item for each of the keys that have items. | |
doSet ( $key, $value, $exptime=0, $flags=0) | |
Set an item. | |
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. | |
Additional Inherited Members | |
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 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 |
Base class for memcached clients.
Definition at line 29 of file MemcachedBagOStuff.php.
MemcachedBagOStuff::__construct | ( | array | $params | ) |
array | $params |
-param array{logger?:Psr\Log\LoggerInterface,asyncHandler?:callable,keyspace?:string,reportDupes?:bool,syncTimeout?:int,segmentationSize?:int,segmentedValueMaxSize?:int} $params
Reimplemented from MediumSpecificBagOStuff.
Definition at line 30 of file MemcachedBagOStuff.php.
References IExpiringStore\ATTR_SYNCWRITES, and IExpiringStore\QOS_SYNCWRITES_BE.
|
protected |
int | float | $exptime |
Definition at line 98 of file MemcachedBagOStuff.php.
References BagOStuff\getCurrentTime(), and MediumSpecificBagOStuff\isRelativeExpiration().
Referenced by MemcachedPeclBagOStuff\doAdd(), MemcachedPhpBagOStuff\doAdd(), MemcachedPeclBagOStuff\doCas(), MemcachedPhpBagOStuff\doCas(), MemcachedPeclBagOStuff\doChangeTTL(), MemcachedPhpBagOStuff\doChangeTTL(), MemcachedPeclBagOStuff\doSet(), MemcachedPhpBagOStuff\doSet(), and MemcachedPeclBagOStuff\doSetMulti().
MemcachedBagOStuff::makeKeyInternal | ( | $keyspace, | |
$args | |||
) |
Construct a cache key.
string | $keyspace | |
array | $args |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 45 of file MemcachedBagOStuff.php.
References $args, and MediumSpecificBagOStuff\$keyspace.
MemcachedBagOStuff::validateKeyEncoding | ( | $key | ) |
Ensure that a key is safe to use (contains no control characters and no characters above the ASCII range.)
string | $key |
Exception |
Definition at line 87 of file MemcachedBagOStuff.php.
Referenced by MemcachedPhpBagOStuff\decr(), MemcachedPeclBagOStuff\doAdd(), MemcachedPhpBagOStuff\doAdd(), MemcachedPeclBagOStuff\doCas(), MemcachedPhpBagOStuff\doCas(), MemcachedPhpBagOStuff\doChangeTTL(), MemcachedPeclBagOStuff\doDelete(), MemcachedPhpBagOStuff\doDelete(), MemcachedPeclBagOStuff\doDeleteMulti(), MemcachedPeclBagOStuff\doGet(), MemcachedPhpBagOStuff\doGet(), MemcachedPeclBagOStuff\doGetMulti(), MemcachedPhpBagOStuff\doGetMulti(), MemcachedPeclBagOStuff\doSet(), MemcachedPhpBagOStuff\doSet(), MemcachedPeclBagOStuff\doSetMulti(), and MemcachedPhpBagOStuff\incr().