MediaWiki  1.34.0
WinCacheBagOStuff Class Reference

Wrapper for WinCache object caching functions; identical interface to the APC wrapper. More...

Inheritance diagram for WinCacheBagOStuff:
Collaboration diagram for WinCacheBagOStuff:

Public Member Functions

 __construct (array $params=[])
 
 decr ( $key, $value=1, $flags=0)
 Decrease stored value of $key by $value while preserving its TTL. More...
 
 incr ( $key, $value=1, $flags=0)
 Increase stored value of $key by $value while preserving its TTL. More...
 
 makeKeyInternal ( $keyspace, $args)
 Construct a cache key. More...
 
- Public Member Functions inherited from MediumSpecificBagOStuff
 add ( $key, $value, $exptime=0, $flags=0)
 Insert an item if it does not already exist. More...
 
 addBusyCallback (callable $workCallback)
 Let a callback be run to avoid wasting time on special blocking calls. More...
 
 changeTTL ( $key, $exptime=0, $flags=0)
 Change the expiration on a key if it exists. More...
 
 changeTTLMulti (array $keys, $exptime, $flags=0)
 Change the expiration of multiple keys that exist. More...
 
 clearLastError ()
 Clear the "last error" registry. More...
 
 delete ( $key, $flags=0)
 Delete an item. More...
 
 deleteMulti (array $keys, $flags=0)
 Batch deletion. More...
 
 deleteObjectsExpiringBefore ( $timestamp, callable $progress=null, $limit=INF)
 Delete all objects expiring before a certain date. More...
 
 get ( $key, $flags=0)
 Get an item with the given key. More...
 
 getLastError ()
 Get the "last error" registered; clearLastError() should be called manually. More...
 
 getMulti (array $keys, $flags=0)
 Get an associative array containing the item for each of the keys that have items. More...
 
 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. More...
 
 lock ( $key, $timeout=6, $expiry=6, $rclass='')
 Acquire an advisory lock on a key string. More...
 
 makeGlobalKey ( $class,... $components)
 Make a global cache key. More...
 
 makeKey ( $class,... $components)
 Make a cache key, scoped to this instance's keyspace. More...
 
 merge ( $key, callable $callback, $exptime=0, $attempts=10, $flags=0)
 Merge changes into the existing cache value (possibly creating a new one) More...
 
 set ( $key, $value, $exptime=0, $flags=0)
 Set an item. More...
 
 setMulti (array $data, $exptime=0, $flags=0)
 Batch insertion/replace. More...
 
 unlock ( $key)
 Release an advisory lock on a key string. More...
 
- Public Member Functions inherited from BagOStuff
 getCurrentTime ()
 
 getScopedLock ( $key, $timeout=6, $expiry=30, $rclass='')
 Get a lightweight exclusive self-unlocking lock. More...
 
 getWithSetCallback ( $key, $ttl, $callback, $flags=0)
 Get an item with the given key, regenerating and setting it if not found. More...
 
 setDebug ( $enabled)
 
 setLogger (LoggerInterface $logger)
 
 setMockTime (&$time)
 

Protected Member Functions

 doAdd ( $key, $value, $exptime=0, $flags=0)
 Insert an item if it does not already exist. More...
 
 doCas ( $casToken, $key, $value, $exptime=0, $flags=0)
 Check and set an item. More...
 
 doDelete ( $key, $flags=0)
 Delete an item. More...
 
 doGet ( $key, $flags=0, &$casToken=null)
 
 doSet ( $key, $value, $exptime=0, $flags=0)
 Set an item. More...
 
- Protected Member Functions inherited from MediumSpecificBagOStuff
 cas ( $casToken, $key, $value, $exptime=0, $flags=0)
 Check and set an item. More...
 
 debug ( $text)
 
 doChangeTTL ( $key, $exptime, $flags)
 
 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. More...
 
 doSetMulti (array $data, $exptime=0, $flags=0)
 
 getExpirationAsTimestamp ( $exptime)
 Convert an optionally relative timestamp to an absolute time. More...
 
 getExpirationAsTTL ( $exptime)
 Convert an optionally absolute expiry time to a relative time. More...
 
 isInteger ( $value)
 Check if a value is an integer. More...
 
 isRelativeExpiration ( $exptime)
 
 makeValueOrSegmentList ( $key, $value, $exptime, $flags)
 Determine the entry (inline or segment list) to store under a key to save the value. More...
 
 mergeViaCas ( $key, callable $callback, $exptime, $attempts, $flags)
 
 resolveSegments ( $key, $mainValue)
 Get and reassemble the chunks of blob at the given key. More...
 
 serialize ( $value)
 
 setLastError ( $err)
 Set the "last error" registry. More...
 
 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. More...
 

Additional Inherited Members

- Public Attributes inherited from BagOStuff
const READ_LATEST = 1
 Bitfield constants for get()/getMulti(); these are only advisory. More...
 
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. More...
 
- 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. More...
 
array[] $locks = []
 Lock tracking. More...
 
int $segmentationSize
 Bytes; chunk size of segmented cache values. More...
 
int $segmentedValueMaxSize
 Bytes; maximum total size of a segmented cache value. More...
 
int $syncTimeout
 Seconds. More...
 
- Protected Attributes inherited from BagOStuff
callable null $asyncHandler
 
int[] $attrMap = []
 Map of (ATTR_* class constant => QOS_* class constant) More...
 
bool $debugMode = false
 
LoggerInterface $logger
 

Detailed Description

Wrapper for WinCache object caching functions; identical interface to the APC wrapper.

Definition at line 30 of file WinCacheBagOStuff.php.

Constructor & Destructor Documentation

◆ __construct()

WinCacheBagOStuff::__construct ( array  $params = [])
See also
BagOStuff::__construct() Additional $params options include:
  • logger: Psr\Log\LoggerInterface instance
  • keyspace: Default keyspace for $this->makeKey()
  • reportDupes: Whether to emit warning log messages for all keys that were requested more than once (requires an asyncHandler).
  • syncTimeout: How long to wait with WRITE_SYNC in seconds.
  • segmentationSize: The chunk size, in bytes, of segmented values. The value should not exceed the maximum size of values in the storage backend, as configured by the site administrator.
  • segmentedValueMaxSize: The maximum total size, in bytes, of segmented values. This should be configured to a reasonable size give the site traffic and the amount of I/O between application and cache servers that the network can handle.
Parameters
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 31 of file WinCacheBagOStuff.php.

Member Function Documentation

◆ decr()

WinCacheBagOStuff::decr (   $key,
  $value = 1,
  $flags = 0 
)

Decrease stored value of $key by $value while preserving its TTL.

Parameters
string$key
int$valueValue to subtract from $key (default: 1) [optional]
int$flagsBit field of class WRITE_* constants [optional]
Returns
int|bool New value or false on failure

Reimplemented from BagOStuff.

Definition at line 150 of file WinCacheBagOStuff.php.

References incr().

◆ doAdd()

WinCacheBagOStuff::doAdd (   $key,
  $value,
  $exptime = 0,
  $flags = 0 
)
protected

Insert an item if it does not already exist.

Parameters
string$key
mixed$value
int$exptime
int$flagsBitfield of BagOStuff::WRITE_* constants (since 1.33)
Returns
bool Success

Reimplemented from MediumSpecificBagOStuff.

Definition at line 84 of file WinCacheBagOStuff.php.

References MediumSpecificBagOStuff\serialize().

◆ doCas()

WinCacheBagOStuff::doCas (   $casToken,
  $key,
  $value,
  $exptime = 0,
  $flags = 0 
)
protected

Check and set an item.

Parameters
mixed$casToken
string$key
mixed$value
int$exptimeEither an interval in seconds or a unix timestamp for expiry
int$flagsBitfield of BagOStuff::WRITE_* constants
Returns
bool Success

Reimplemented from MediumSpecificBagOStuff.

Definition at line 52 of file WinCacheBagOStuff.php.

References $success, and doGet().

◆ doDelete()

WinCacheBagOStuff::doDelete (   $key,
  $flags = 0 
)
protected

Delete an item.

Parameters
string$key
int$flagsBitfield of BagOStuff::WRITE_* constants
Returns
bool True if the item was deleted or not found, false on failure

Reimplemented from MediumSpecificBagOStuff.

Definition at line 97 of file WinCacheBagOStuff.php.

◆ doGet()

WinCacheBagOStuff::doGet (   $key,
  $flags = 0,
$casToken = null 
)
protected
Parameters
string$key
int$flagsBitfield of BagOStuff::READ_* constants [optional]
mixed | null&$casTokenToken to use for check-and-set comparisons
Returns
mixed Returns false on failure or if the item does not exist

Reimplemented from MediumSpecificBagOStuff.

Definition at line 36 of file WinCacheBagOStuff.php.

References $blob, and MediumSpecificBagOStuff\unserialize().

Referenced by doCas(), and incr().

◆ doSet()

WinCacheBagOStuff::doSet (   $key,
  $value,
  $exptime = 0,
  $flags = 0 
)
protected

Set an item.

Parameters
string$key
mixed$value
int$exptimeEither an interval in seconds or a unix timestamp for expiry
int$flagsBitfield of BagOStuff::WRITE_* constants
Returns
bool Success

Reimplemented from MediumSpecificBagOStuff.

Definition at line 75 of file WinCacheBagOStuff.php.

References MediumSpecificBagOStuff\serialize().

◆ incr()

WinCacheBagOStuff::incr (   $key,
  $value = 1,
  $flags = 0 
)

Increase stored value of $key by $value while preserving its TTL.

Parameters
string$keyKey to increase
int$valueValue to add to $key (default: 1) [optional]
int$flagsBit field of class WRITE_* constants [optional]
Returns
int|bool New value or false on failure

Reimplemented from BagOStuff.

Definition at line 131 of file WinCacheBagOStuff.php.

References doGet(), and MediumSpecificBagOStuff\isInteger().

Referenced by decr().

◆ makeKeyInternal()

WinCacheBagOStuff::makeKeyInternal (   $keyspace,
  $args 
)

Construct a cache key.

Since
1.27
Parameters
string$keyspace
array$args
Returns
string Colon-delimited list of $keyspace followed by escaped components of $args

Reimplemented from MediumSpecificBagOStuff.

Definition at line 103 of file WinCacheBagOStuff.php.

References $args, and MediumSpecificBagOStuff\$keyspace.


The documentation for this class was generated from the following file: