|
MediaWiki 1.44.0
|
Store data in a memory for the current request/process only. More...
Inherits Wikimedia\ObjectCache\MediumSpecificBagOStuff.

Public Member Functions | |
| __construct ( $params=[]) | |
| clear () | |
| Clear all values in cache. | |
| hasKey ( $key) | |
| Does this bag have a non-null value for the given key? | |
Public Member Functions inherited from Wikimedia\ObjectCache\MediumSpecificBagOStuff | |
| __construct (array $params=[]) | |
| add ( $key, $value, $exptime=0, $flags=0) | |
| Insert an item if it does not already exist. | |
| 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 if it exists. | |
| deleteMulti (array $keys, $flags=0) | |
| Delete a batch of items. | |
| 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='') | |
| 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. | |
| unlock ( $key) | |
| Release an advisory lock on a key string. | |
Public Member Functions inherited from Wikimedia\ObjectCache\BagOStuff | |
| getCurrentTime () | |
| getLastError ( $watchPoint=0) | |
| Get the "last error" registry. | |
| getLogger () | |
| getScopedLock ( $key, $timeout=6, $exptime=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. | |
| makeGlobalKey ( $keygroup,... $components) | |
| Make a cache key from the given components, in the "global" keyspace. | |
| makeKey ( $keygroup,... $components) | |
| Make a cache key from the given components, in the default keyspace. | |
| setLogger (LoggerInterface $logger) | |
| setMockTime (&$time) | |
| watchErrors () | |
| Get a "watch point" token that can be used to get the "last error" to occur after now. | |
Public Attributes | |
| const | KEY_CAS = 2 |
| const | KEY_EXP = 1 |
| const | KEY_VAL = 0 |
Public Attributes inherited from Wikimedia\ObjectCache\BagOStuff | |
| const | ATTR_DURABILITY = 2 |
| Key in getQoS() for durability of storage writes. | |
| const | ERR_NO_RESPONSE = 1 |
| Storage operation failed to yield a complete response. | |
| const | ERR_NONE = 0 |
| Storage operation succeeded, or no operation was performed. | |
| const | ERR_UNEXPECTED = 3 |
| Storage operation failed due to usage limitations or an I/O error. | |
| const | ERR_UNREACHABLE = 2 |
| Storage operation could not establish a connection. | |
| const | MAX_CONFLICTS_ONE = 1 |
| Abort after the first merge conflict. | |
| const | QOS_DURABILITY_DISK = 4 |
| Storage survives on disk on a best-effort basis (e.g. | |
| const | QOS_DURABILITY_NONE = 1 |
| Storage is disabled or never saves data, not even temporarily (EmptyBagOStuff). | |
| const | QOS_DURABILITY_RDBMS = 5 |
| Storage survives on disk with high availability (SqlBagOStuff). | |
| const | QOS_DURABILITY_SCRIPT = 2 |
| Storage survives in memory until the end of the current request or CLI process (HashBagOStuff). | |
| const | QOS_DURABILITY_SERVICE = 3 |
| Storage survives in memory until a shared service is restarted (e.g. | |
| const | QOS_UNKNOWN = INF |
| Generic "unknown" value; useful for comparisons (always "good enough") | |
| 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 = self::WRITE_ALLOW_SEGMENTS |
| Delete all the segments if the value is partitioned. | |
Protected Member Functions | |
| doAdd ( $key, $value, $exptime=0, $flags=0) | |
| Insert an item if it does not already exist. | |
| doDelete ( $key, $flags=0) | |
| Delete an item. | |
| doGet ( $key, $flags=0, &$casToken=null) | |
| Get an item. | |
| doIncrWithInit ( $key, $exptime, $step, $init, $flags) | |
| doSet ( $key, $value, $exptime=0, $flags=0) | |
| Set an item. | |
| expire ( $key) | |
Protected Member Functions inherited from Wikimedia\ObjectCache\MediumSpecificBagOStuff | |
| cas ( $casToken, $key, $value, $exptime=0, $flags=0) | |
| Set an item if the current CAS token matches the provided CAS token. | |
| debug ( $text) | |
| 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) | |
| doChangeTTLMulti (array $keys, $exptime, $flags=0) | |
| doDeleteMulti (array $keys, $flags=0) | |
| doGetMulti (array $keys, $flags=0) | |
| Get an associative array containing the item for each of the keys that have items. | |
| 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, logging a warning if it involves custom classes. | |
| 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. | |
| serialize ( $value) | |
| tokensMatch ( $value, $otherValue) | |
| unserialize ( $value) | |
| updateOpStats (string $op, array $keyInfo) | |
Protected Member Functions inherited from Wikimedia\ObjectCache\BagOStuff | |
| fieldHasFlags ( $field, $flags) | |
| makeKeyInternal ( $keyspace, $components) | |
| Make a cache key for the given keyspace and components. | |
| 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. | |
| requireConvertGenericKey () | |
| Whether ::proxyCall() must re-encode cache keys before calling read/write methods. | |
| setLastError ( $error) | |
| Set the "last error" registry due to a problem encountered during an attempted operation. | |
Protected Attributes | |
| mixed[] | $bag = [] |
| int double | $maxCacheKeys |
| Max entries allowed, INF for unlimited. | |
Protected Attributes inherited from Wikimedia\ObjectCache\MediumSpecificBagOStuff | |
| array< string, array > | $locks = [] |
| Map of (key => (class LOCK_* constant => value) | |
| float | $maxLockSendDelay = 0.05 |
| Seconds; maximum expected seconds for a lock ping to reach the backend. | |
| 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 Wikimedia\ObjectCache\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 |
| StatsFactory | $stats |
Additional Inherited Members | |
Static Protected Attributes inherited from Wikimedia\ObjectCache\BagOStuff | |
| static int | $nextErrorMonitorId = 1 |
| Next sequence number to use for watch/error events. | |
Store data in a memory for the current request/process only.
This keeps values in a simple associative array. Data will not persist and is not shared with other requests on the same server.
Definition at line 35 of file HashBagOStuff.php.
| Wikimedia\ObjectCache\HashBagOStuff::__construct | ( | $params = [] | ) |
| array | $params | Additional parameters include:
|
@phpcs:ignore Generic.Files.LineLength
Definition at line 60 of file HashBagOStuff.php.
References Wikimedia\ObjectCache\BagOStuff\ATTR_DURABILITY, and Wikimedia\ObjectCache\BagOStuff\QOS_DURABILITY_SCRIPT.
| Wikimedia\ObjectCache\HashBagOStuff::clear | ( | ) |
Clear all values in cache.
Definition at line 144 of file HashBagOStuff.php.
|
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 Wikimedia\ObjectCache\MediumSpecificBagOStuff.
Definition at line 112 of file HashBagOStuff.php.
References Wikimedia\ObjectCache\HashBagOStuff\doSet(), Wikimedia\ObjectCache\HashBagOStuff\expire(), and Wikimedia\ObjectCache\HashBagOStuff\hasKey().
|
protected |
Delete an item.
| string | $key | |
| int | $flags | Bitfield of BagOStuff::WRITE_* constants |
Reimplemented from Wikimedia\ObjectCache\MediumSpecificBagOStuff.
Definition at line 121 of file HashBagOStuff.php.
Referenced by Wikimedia\ObjectCache\HashBagOStuff\expire().
|
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 Wikimedia\ObjectCache\MediumSpecificBagOStuff.
Definition at line 74 of file HashBagOStuff.php.
References Wikimedia\ObjectCache\HashBagOStuff\expire(), Wikimedia\ObjectCache\HashBagOStuff\hasKey(), Wikimedia\ObjectCache\HashBagOStuff\KEY_CAS, Wikimedia\ObjectCache\HashBagOStuff\KEY_VAL, and Wikimedia\ObjectCache\MediumSpecificBagOStuff\PASS_BY_REF.
Referenced by Wikimedia\ObjectCache\HashBagOStuff\doIncrWithInit().
|
protected |
| string | $key | |
| int | $exptime | |
| int | $step | |
| int | $init | |
| int | $flags |
Reimplemented from Wikimedia\ObjectCache\MediumSpecificBagOStuff.
Definition at line 127 of file HashBagOStuff.php.
References Wikimedia\ObjectCache\HashBagOStuff\doGet(), Wikimedia\ObjectCache\HashBagOStuff\doSet(), Wikimedia\ObjectCache\MediumSpecificBagOStuff\isInteger(), and Wikimedia\ObjectCache\HashBagOStuff\KEY_VAL.
|
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 Wikimedia\ObjectCache\MediumSpecificBagOStuff.
Definition at line 95 of file HashBagOStuff.php.
References Wikimedia\ObjectCache\MediumSpecificBagOStuff\getExpirationAsTimestamp().
Referenced by Wikimedia\ObjectCache\HashBagOStuff\doAdd(), and Wikimedia\ObjectCache\HashBagOStuff\doIncrWithInit().
|
protected |
| string | $key |
Definition at line 153 of file HashBagOStuff.php.
References Wikimedia\ObjectCache\HashBagOStuff\doDelete(), Wikimedia\ObjectCache\BagOStuff\getCurrentTime(), and Wikimedia\ObjectCache\HashBagOStuff\KEY_EXP.
Referenced by Wikimedia\ObjectCache\HashBagOStuff\doAdd(), and Wikimedia\ObjectCache\HashBagOStuff\doGet().
| Wikimedia\ObjectCache\HashBagOStuff::hasKey | ( | $key | ) |
Does this bag have a non-null value for the given key?
| string | $key |
Definition at line 172 of file HashBagOStuff.php.
Referenced by Wikimedia\ObjectCache\HashBagOStuff\doAdd(), and Wikimedia\ObjectCache\HashBagOStuff\doGet().
|
protected |
Definition at line 37 of file HashBagOStuff.php.
|
protected |
Max entries allowed, INF for unlimited.
Definition at line 39 of file HashBagOStuff.php.
| const Wikimedia\ObjectCache\HashBagOStuff::KEY_CAS = 2 |
Definition at line 49 of file HashBagOStuff.php.
Referenced by Wikimedia\ObjectCache\HashBagOStuff\doGet().
| const Wikimedia\ObjectCache\HashBagOStuff::KEY_EXP = 1 |
Definition at line 48 of file HashBagOStuff.php.
Referenced by Wikimedia\ObjectCache\HashBagOStuff\expire().
| const Wikimedia\ObjectCache\HashBagOStuff::KEY_VAL = 0 |
Definition at line 47 of file HashBagOStuff.php.
Referenced by Wikimedia\ObjectCache\HashBagOStuff\doGet(), and Wikimedia\ObjectCache\HashBagOStuff\doIncrWithInit().