MediaWiki REL1_28
APCUBagOStuff Class Reference

This is a wrapper for APCU's shared memory functions. More...

Inheritance diagram for APCUBagOStuff:
Collaboration diagram for APCUBagOStuff:

Public Member Functions

 __construct (array $params=[])
 Constructor.
 
 decr ( $key, $value=1)
 Decrease stored value of $key by $value while preserving its TTL.
 
 delete ( $key)
 Delete an item.
 
 incr ( $key, $value=1)
 Increase stored value of $key by $value while preserving its TTL.
 
 set ( $key, $value, $exptime=0, $flags=0)
 Set an item.
 
- Public Member Functions inherited from BagOStuff
 add ( $key, $value, $exptime=0)
 
 addBusyCallback (callable $workCallback)
 Let a callback be run to avoid wasting time on special blocking calls.
 
 changeTTL ( $key, $expiry=0)
 Reset the TTL on a key if it exists.
 
 clearLastError ()
 Clear the "last error" registry.
 
 deleteObjectsExpiringBefore ( $date, $progressCallback=false)
 Delete all objects expiring before a certain date.
 
 get ( $key, $flags=0, $oldFlags=null)
 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)
 
 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.
 
 incrWithInit ( $key, $ttl, $value=1, $init=1)
 Increase stored value of $key by $value while preserving its TTL.
 
 lock ( $key, $timeout=6, $expiry=6, $rclass='')
 Acquire an advisory lock on a key string.
 
 makeGlobalKey ()
 Make a global cache key.
 
 makeKey ()
 Make a cache key, scoped to this instance's keyspace.
 
 makeKeyInternal ( $keyspace, $args)
 Construct a cache key.
 
 merge ( $key, callable $callback, $exptime=0, $attempts=10, $flags=0)
 Merge changes into the existing cache value (possibly creating a new one)
 
 modifySimpleRelayEvent (array $event)
 Modify a cache update operation array for EventRelayer::notify()
 
 setDebug ( $bool)
 
 setLogger (LoggerInterface $logger)
 
 setMulti (array $data, $exptime=0)
 Batch insertion.
 
 unlock ( $key)
 Release an advisory lock on a key string.
 

Protected Member Functions

 doGet ( $key, $flags=0)
 
- Protected Member Functions inherited from APCBagOStuff
 getUnserialize ( $value)
 
 setSerialize ( $value)
 
- Protected Member Functions inherited from BagOStuff
 cas ( $casToken, $key, $value, $exptime=0)
 Check and set an item.
 
 convertExpiry ( $exptime)
 Convert an optionally relative time to an absolute time.
 
 convertToRelative ( $exptime)
 Convert an optionally absolute expiry time to a relative time.
 
 debug ( $text)
 
 getWithToken ( $key, &$casToken, $flags=0)
 
 isInteger ( $value)
 Check if a value is an integer.
 
 mergeFlagMaps (array $bags)
 Merge the flag maps of one or more BagOStuff objects into a "lowest common denominator" map.
 
 mergeViaCas ( $key, $callback, $exptime=0, $attempts=10)
 
 mergeViaLock ( $key, $callback, $exptime=0, $attempts=10, $flags=0)
 
 setLastError ( $err)
 Set the "last error" registry.
 

Additional Inherited Members

- Public Attributes inherited from BagOStuff
const ERR_NO_RESPONSE = 1
 
const ERR_NONE = 0
 Possible values for getLastError()
 
const ERR_UNEXPECTED = 3
 
const ERR_UNREACHABLE = 2
 
const READ_LATEST = 1
 Bitfield constants for get()/getMulti()
 
const READ_VERIFIED = 2
 
const WRITE_CACHE_ONLY = 2
 
const WRITE_SYNC = 1
 Bitfield constants for set()/merge()
 
- Public Attributes inherited from IExpiringStore
const ATTR_EMULATION = 1
 
const ATTR_SYNCWRITES = 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_WEEK = 604800
 
const TTL_YEAR = 31536000
 
- Protected Attributes inherited from APCBagOStuff
bool $nativeSerialize
 If true, trust the APC implementation to serialize and deserialize objects correctly.
 
- Protected Attributes inherited from BagOStuff
callback null $asyncHandler
 
integer[] $attrMap = []
 Map of (ATTR_* class constant => QOS_* class constant)
 
callable[] $busyCallbacks = []
 
string $keyspace = 'local'
 
integer $lastError = self::ERR_NONE
 ERR_* class constant.
 
array[] $locks = []
 Lock tracking.
 
LoggerInterface $logger
 
integer $syncTimeout
 Seconds.
 

Detailed Description

This is a wrapper for APCU's shared memory functions.

Definition at line 29 of file APCUBagOStuff.php.

Constructor & Destructor Documentation

◆ __construct()

APCUBagOStuff::__construct ( array  $params = [])

Constructor.

Available parameters are:

  • nativeSerialize: If true, pass objects to apcu_store(), and trust it to serialize them correctly. If false, serialize all values in PHP.
Parameters
array$params

Reimplemented from APCBagOStuff.

Definition at line 40 of file APCUBagOStuff.php.

References $params.

Member Function Documentation

◆ decr()

APCUBagOStuff::decr (   $key,
  $value = 1 
)

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

Parameters
string$key
int$value
Returns
int|bool New value or false on failure

Reimplemented from APCBagOStuff.

Definition at line 79 of file APCUBagOStuff.php.

References $value.

◆ delete()

APCUBagOStuff::delete (   $key)

Delete an item.

Parameters
string$key
Returns
bool True if the item was deleted or not found, false on failure

Reimplemented from APCBagOStuff.

Definition at line 60 of file APCUBagOStuff.php.

◆ doGet()

APCUBagOStuff::doGet (   $key,
  $flags = 0 
)
protected
Parameters
string$key
integer$flagsBitfield of BagOStuff::READ_* constants [optional]
Returns
mixed Returns false on failure and if the item does not exist

Reimplemented from APCBagOStuff.

Definition at line 44 of file APCUBagOStuff.php.

References APCBagOStuff\getUnserialize().

◆ incr()

APCUBagOStuff::incr (   $key,
  $value = 1 
)

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

Parameters
string$keyKey to increase
int$valueValue to add to $key (Default 1)
Returns
int|bool New value or false on failure

Reimplemented from APCBagOStuff.

Definition at line 66 of file APCUBagOStuff.php.

References $value.

◆ set()

APCUBagOStuff::set (   $key,
  $value,
  $exptime = 0,
  $flags = 0 
)

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 APCBagOStuff.

Definition at line 50 of file APCUBagOStuff.php.

References APCBagOStuff\setSerialize().


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