|
MediaWiki REL1_39
|
A wrapper class for the pure-PHP memcached client, exposing a BagOStuff interface. More...


Public Member Functions | |
| __construct ( $params) | |
| Available parameters are: | |
| decr ( $key, $value=1, $flags=0) | |
| Decrease stored value of $key by $value while preserving its TTL. | |
| incr ( $key, $value=1, $flags=0) | |
| Increase stored value of $key by $value while preserving its TTL. | |
Public Member Functions inherited from MemcachedBagOStuff | |
| __construct (array $params) | |
| makeKeyInternal ( $keyspace, $components) | |
| 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. | |
| delete ( $key, $flags=0) | |
| Delete an item. | |
| deleteMulti (array $keys, $flags=0) | |
| Batch deletion. | |
| deleteObjectsExpiringBefore ( $timestamp, callable $progress=null, $limit=INF, string $tag=null) | |
| Delete all objects expiring before a certain date. | |
| get ( $key, $flags=0) | |
| 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) | |
| getSegmentationSize () | |
| getSegmentedValueMaxSize () | |
| incrWithInit ( $key, $exptime, $step=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, $exptime=6, $rclass='') | |
| makeGlobalKey ( $collection,... $components) | |
| Make a cache key for the default keyspace and given components. | |
| makeKey ( $collection,... $components) | |
| Make a cache key for the global keyspace and given components. | |
| 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 $valueByKey, $exptime=0, $flags=0) | |
| Batch insertion/replace. | |
| setNewPreparedValues (array $valueByKey) | |
| Stage a set of new key values for storage and estimate the amount of bytes needed. | |
| unlock ( $key) | |
| Release an advisory lock on a key string. | |
Public Member Functions inherited from BagOStuff | |
| clearLastError () | |
| Clear the "last error" registry. | |
| getCurrentTime () | |
| getLastError ( $watchPoint=0) | |
| Get the "last error" registry. | |
| getLogger () | |
| getScopedLock ( $key, $timeout=6, $expiry=30, $rclass='') | |
| Get a lightweight exclusive self-unlocking lock. | |
| getWithSetCallback ( $key, $exptime, $callback, $flags=0) | |
| Get an item, regenerating and setting it if not found. | |
| isKeyGlobal ( $key) | |
| Check whether a cache key is in the global keyspace. | |
| registerWrapperInfoForStats (string $prefixComponent, string $statsGroup, callable $collectionCallback) | |
| Register info about a caching layer class that uses BagOStuff as a backing store. | |
| setLogger (LoggerInterface $logger) | |
| setMockTime (&$time) | |
| watchErrors () | |
| Get a "watch point" token that can be used to get the "last error" to occur after now. | |
Protected Member Functions | |
| doAdd ( $key, $value, $exptime=0, $flags=0) | |
| Insert an item if it does not already exist. | |
| doCas ( $casToken, $key, $value, $exptime=0, $flags=0) | |
| Set an item if the current CAS token matches the provided CAS token. | |
| doChangeTTL ( $key, $exptime, $flags) | |
| doDelete ( $key, $flags=0) | |
| Delete an item. | |
| doGet ( $key, $flags=0, &$casToken=null) | |
| Get an item. | |
| doGetMulti (array $keys, $flags=0) | |
| Get an associative array containing the item for each of the keys that have items. | |
| doIncrWithInitAsync ( $key, $exptime, $step, $init) | |
| doIncrWithInitSync ( $key, $exptime, $step, $init) | |
| doSet ( $key, $value, $exptime=0, $flags=0) | |
| Set an item. | |
| serialize ( $value) | |
| unserialize ( $value) | |
Protected Member Functions inherited from MemcachedBagOStuff | |
| doIncrWithInit ( $key, $exptime, $step, $init, $flags) | |
| fixExpiry ( $exptime) | |
| stripRouteFromKey ( $key) | |
| validateKeyAndPrependRoute ( $key) | |
Protected Member Functions inherited from MediumSpecificBagOStuff | |
| cas ( $casToken, $key, $value, $exptime=0, $flags=0) | |
| Set an item if the current CAS token matches the provided CAS token. | |
| convertGenericKey ( $key) | |
| Convert a "generic" reversible cache key into one for this cache. | |
| debug ( $text) | |
| doChangeTTLMulti (array $keys, $exptime, $flags=0) | |
| doDeleteMulti (array $keys, $flags=0) | |
| doLock ( $key, $timeout, $exptime) | |
| doSetMulti (array $data, $exptime=0, $flags=0) | |
| doUnlock ( $key) | |
| getExpirationAsTimestamp ( $exptime) | |
| Convert an optionally relative timestamp to an absolute time. | |
| getExpirationAsTTL ( $exptime) | |
| Convert an optionally absolute expiry time to a relative time. | |
| getSerialized ( $value, $key) | |
| Get the serialized form a value, using any applicable prepared value. | |
| guessSerialSizeOfValues (array $values) | |
| Estimate the size of a each variable once serialized. | |
| guessSerialValueSize ( $value, $depth=0, &$loops=0) | |
| Estimate the size of a variable once serialized. | |
| isInteger ( $value) | |
| Check if a value is an integer. | |
| isRelativeExpiration ( $exptime) | |
| makeLockKey ( $key) | |
| makeValueOrSegmentList ( $key, $value, $exptime, $flags, &$ok) | |
| Make the entry to store at a key (inline or segment list), storing any segments. | |
| mergeViaCas ( $key, callable $callback, $exptime, $attempts, $flags) | |
| resolveSegments ( $key, $mainValue) | |
| Get and reassemble the chunks of blob at the given key. | |
| tokensMatch ( $value, $otherValue) | |
| updateOpStats (string $op, array $keyInfo) | |
Protected Member Functions inherited from BagOStuff | |
| componentsFromGenericKey ( $key) | |
| Extract the components from a "generic" reversible cache key. | |
| determineKeyPrefixForStats ( $key) | |
| fieldHasFlags ( $field, $flags) | |
| genericKeyFromComponents (... $components) | |
| At a minimum, there must be a keyspace and collection name component. | |
| mergeFlagMaps (array $bags) | |
| Merge the flag maps of one or more BagOStuff objects into a "lowest common denominator" map. | |
| proxyCall (string $method, int $arg0Sig, int $resSig, array $genericArgs, BagOStuff $wrapper) | |
| Call a method on behalf of wrapper BagOStuff instance that uses "generic" keys. | |
| setLastError ( $error) | |
| Set the "last error" registry due to a problem encountered during an attempted operation. | |
Protected Attributes | |
| MemcachedClient | $client |
Protected Attributes inherited from MemcachedBagOStuff | |
| string | $routingPrefix |
| Routing prefix appended to keys during operations. | |
Protected Attributes inherited from MediumSpecificBagOStuff | |
| array< string, array > | $locks = [] |
| Map of (key => (class, depth, expiry) | |
| array[] | $preparedValues = [] |
| Map of (key => (PHP variable value, serialized value)) | |
| int | $segmentationSize |
| Bytes; chunk size of segmented cache values. | |
| int | $segmentedValueMaxSize |
| Bytes; maximum total size of a segmented cache value. | |
| const | LOCK_DEPTH = 1 |
| const | LOCK_EXPIRY = 3 |
| const | LOCK_RCLASS = 0 |
| const | LOCK_TIME = 2 |
| const | METRIC_OP_ADD = 'add' |
| const | METRIC_OP_CAS = 'cas' |
| const | METRIC_OP_CHANGE_TTL = 'change_ttl' |
| const | METRIC_OP_DECR = 'decr' |
| const | METRIC_OP_DELETE = 'delete' |
| const | METRIC_OP_GET = 'get' |
| const | METRIC_OP_INCR = 'incr' |
| const | METRIC_OP_SET = 'set' |
| const | PASS_BY_REF = -1 |
| Idiom for doGet() to return extra information by reference. | |
Protected Attributes inherited from BagOStuff | |
| callable null | $asyncHandler |
| int[] | $attrMap = [] |
| Map of (BagOStuff:ATTR_* constant => BagOStuff:QOS_* constant) | |
| string | $keyspace |
| Default keyspace; used by makeKey() | |
| int | $lastError = self::ERR_NONE |
| BagOStuff:ERR_* constant of the last error that occurred. | |
| int | $lastErrorId = 0 |
| Error event sequence number of the last error that occurred. | |
| LoggerInterface | $logger |
| StatsdDataFactoryInterface | $stats |
| array< string, array > | $wrapperInfoByPrefix = [] |
| Cache key processing callbacks and info for metrics. | |
Additional Inherited Members | |
Public Attributes inherited from BagOStuff | |
| const | MAX_CONFLICTS_ONE = 1 |
| Abort after the first merge conflict. | |
| const | READ_LATEST = 1 |
| Bitfield constants for get()/getMulti(); these are only advisory. | |
| const | READ_VERIFIED = 2 |
| Promise that the caller handles detection of staleness. | |
| const | WRITE_ALLOW_SEGMENTS = 16 |
| Allow partitioning of the value if it is a large string. | |
| const | WRITE_BACKGROUND = 64 |
| If supported, do not block on write operation completion; instead, treat writes as succesful based on whether they could be buffered. | |
| const | WRITE_CACHE_ONLY = 8 |
| Bitfield constants for set()/merge(); these are only advisory. | |
| const | WRITE_PRUNE_SEGMENTS = 32 |
| Delete all the segments if the value is partitioned. | |
Public Attributes inherited from Wikimedia\LightweightObjectStore\StorageAwareness | |
| const | ATTR_DURABILITY = 2 |
| Durability of writes; see QOS_DURABILITY_* (higher means stronger) | |
| const | ATTR_EMULATION = 1 |
| Emulation/fallback mode; see QOS_EMULATION_*; higher is better. | |
| const | ERR_NO_RESPONSE = 1 |
| Storage medium failed to yield a complete response to an operation. | |
| const | ERR_NONE = 0 |
| No storage medium error. | |
| const | ERR_UNEXPECTED = 3 |
| Storage medium operation failed due to usage limitations or an I/O error. | |
| const | ERR_UNREACHABLE = 2 |
| Storage medium could not be reached to establish a connection. | |
| const | QOS_DURABILITY_DISK = 4 |
| Data is saved to disk and writes do not usually block on fsync() | |
| const | QOS_DURABILITY_NONE = 1 |
| Data is never saved to begin with (blackhole store) | |
| const | QOS_DURABILITY_RDBMS = 5 |
| Data is saved to disk and writes usually block on fsync(), like a standard RDBMS. | |
| const | QOS_DURABILITY_SCRIPT = 2 |
| Data is lost at the end of the current web request or CLI script. | |
| const | QOS_DURABILITY_SERVICE = 3 |
| Data is lost once the service storing the data restarts. | |
| const | QOS_EMULATION_SQL = 1 |
| Fallback disk-based SQL store. | |
| const | QOS_UNKNOWN = INF |
| Generic "unknown" value; useful for comparisons (always "good enough") | |
Static Protected Attributes inherited from BagOStuff | |
| static int | $nextErrorMonitorId = 1 |
| Next sequence number to use for watch/error events. | |
A wrapper class for the pure-PHP memcached client, exposing a BagOStuff interface.
Definition at line 29 of file MemcachedPhpBagOStuff.php.
| MemcachedPhpBagOStuff::__construct | ( | $params | ) |
Available parameters are:
| array | $params |
Definition at line 43 of file MemcachedPhpBagOStuff.php.
| MemcachedPhpBagOStuff::decr | ( | $key, | |
| $value = 1, | |||
| $flags = 0 ) |
Decrease stored value of $key by $value while preserving its TTL.
| string | $key | |
| int | $value | Value to subtract from $key (default: 1) [optional] |
| int | $flags | Bit field of class WRITE_* constants [optional] |
Reimplemented from BagOStuff.
Definition at line 138 of file MemcachedPhpBagOStuff.php.
References $res, BagOStuff\setLastError(), and MemcachedBagOStuff\validateKeyAndPrependRoute().
|
protected |
Insert an item if it does not already exist.
| string | $key | |
| mixed | $value | |
| int | $exptime | |
| int | $flags | Bitfield of BagOStuff::WRITE_* constants (since 1.33) |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 101 of file MemcachedPhpBagOStuff.php.
References $res, MemcachedBagOStuff\fixExpiry(), BagOStuff\setLastError(), and MemcachedBagOStuff\validateKeyAndPrependRoute().
|
protected |
Set an item if the current CAS token matches the provided CAS token.
| mixed | $casToken | CAS token from an existing version of the key |
| 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 MediumSpecificBagOStuff.
Definition at line 113 of file MemcachedPhpBagOStuff.php.
References $res, MemcachedBagOStuff\fixExpiry(), BagOStuff\setLastError(), and MemcachedBagOStuff\validateKeyAndPrependRoute().
|
protected |
| string | $key | |
| int | $exptime | |
| int | $flags |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 177 of file MemcachedPhpBagOStuff.php.
References $res, MemcachedBagOStuff\fixExpiry(), BagOStuff\setLastError(), and MemcachedBagOStuff\validateKeyAndPrependRoute().
|
protected |
Delete an item.
| string | $key | |
| int | $flags | Bitfield of BagOStuff::WRITE_* constants |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 89 of file MemcachedPhpBagOStuff.php.
References $res, BagOStuff\setLastError(), and MemcachedBagOStuff\validateKeyAndPrependRoute().
|
protected |
Get an item.
The CAS token should be null if the key does not exist or the value is corrupt
| string | $key | |
| int | $flags | Bitfield of BagOStuff::READ_* constants [optional] |
| mixed | &$casToken | CAS token if MediumSpecificBagOStuff::PASS_BY_REF [returned] |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 58 of file MemcachedPhpBagOStuff.php.
References $res, BagOStuff\setLastError(), and MemcachedBagOStuff\validateKeyAndPrependRoute().
|
protected |
Get an associative array containing the item for each of the keys that have items.
| string[] | $keys | List of keys |
| int | $flags | Bitfield; supports READ_LATEST [optional] |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 189 of file MemcachedPhpBagOStuff.php.
References $keys, $res, BagOStuff\setLastError(), MemcachedBagOStuff\stripRouteFromKey(), and MemcachedBagOStuff\validateKeyAndPrependRoute().
|
protected |
| string | $key | |
| int | $exptime | |
| int | $step | |
| int | $init |
Reimplemented from MemcachedBagOStuff.
Definition at line 151 of file MemcachedPhpBagOStuff.php.
References MemcachedBagOStuff\fixExpiry(), BagOStuff\getLastError(), MemcachedBagOStuff\validateKeyAndPrependRoute(), and BagOStuff\watchErrors().
|
protected |
| string | $key | |
| int | $exptime | |
| int | $step | |
| int | $init |
Reimplemented from MemcachedBagOStuff.
Definition at line 159 of file MemcachedPhpBagOStuff.php.
References $success, MemcachedBagOStuff\fixExpiry(), BagOStuff\getLastError(), MemcachedBagOStuff\validateKeyAndPrependRoute(), and BagOStuff\watchErrors().
|
protected |
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 MediumSpecificBagOStuff.
Definition at line 77 of file MemcachedPhpBagOStuff.php.
References $res, MemcachedBagOStuff\fixExpiry(), BagOStuff\setLastError(), and MemcachedBagOStuff\validateKeyAndPrependRoute().
| MemcachedPhpBagOStuff::incr | ( | $key, | |
| $value = 1, | |||
| $flags = 0 ) |
Increase stored value of $key by $value while preserving its TTL.
| string | $key | Key to increase |
| int | $value | Value to add to $key (default: 1) [optional] |
| int | $flags | Bit field of class WRITE_* constants [optional] |
Reimplemented from BagOStuff.
Definition at line 125 of file MemcachedPhpBagOStuff.php.
References $res, BagOStuff\setLastError(), and MemcachedBagOStuff\validateKeyAndPrependRoute().
|
protected |
| mixed | $value |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 209 of file MemcachedPhpBagOStuff.php.
|
protected |
| string | int | false | $value |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 213 of file MemcachedPhpBagOStuff.php.
References MediumSpecificBagOStuff\isInteger().
|
protected |
Definition at line 31 of file MemcachedPhpBagOStuff.php.