MediaWiki  REL1_22
RedisBagOStuff Class Reference
Inheritance diagram for RedisBagOStuff:
Collaboration diagram for RedisBagOStuff:

List of all members.

Public Member Functions

 __construct ($params)
 Construct a RedisBagOStuff object.
 add ($key, $value, $expiry=0)
 cas ($casToken, $key, $value, $expiry=0)
 Check and set an item.
 delete ($key, $time=0)
 Delete an item.
 get ($key, &$casToken=null)
 Get an item with the given key.
 getMulti (array $keys)
 Get an associative array containing the item for each of the keys that have items.
 logRequest ($method, $key, $server, $result)
 Send information about a single request to the debug log.
 replace ($key, $value, $expiry=0)
 Non-atomic implementation of replace().
 set ($key, $value, $expiry=0)
 Set an item.

Protected Member Functions

 getConnection ($key)
 Get a Redis object with a connection suitable for fetching the specified key.
 handleException ($server, RedisConnRef $conn, $e)
 The redis extension throws an exception in response to various read, write and protocol errors.
 logError ($msg)
 Log a fatal error.

Protected Attributes

bool $automaticFailover
 *
RedisConnectionPool $redisPool
 *
Array $servers
 List of server names *.

Detailed Description

Definition at line 23 of file RedisBagOStuff.php.


Constructor & Destructor Documentation

Construct a RedisBagOStuff object.

Parameters are:

  • servers: An array of server names. A server name may be a hostname, a hostname/port combination or the absolute path of a UNIX socket. If a hostname is specified but no port, the standard port number 6379 will be used. Required.
  • connectTimeout: The timeout for new connections, in seconds. Optional, default is 1 second.
  • persistent: Set this to true to allow connections to persist across multiple web requests. False by default.
  • password: The authentication password, will be sent to Redis in clear text. Optional, if it is unspecified, no AUTH command will be sent.
  • automaticFailover: If this is false, then each key will be mapped to a single server, and if that server is down, any requests for that key will fail. If this is true, a connection failure will cause the client to immediately try the next server in the list (as determined by a consistent hashing algorithm). True by default. This has the potential to create consistency issues if a server is slow enough to flap, for example if it is in swap death.

Definition at line 54 of file RedisBagOStuff.php.


Member Function Documentation

RedisBagOStuff::add ( key,
value,
exptime = 0 
)
Parameters:
$keystring
$valuemixed
$exptimeinteger
Returns:
bool success

Reimplemented from BagOStuff.

Definition at line 218 of file RedisBagOStuff.php.

RedisBagOStuff::cas ( casToken,
key,
value,
exptime = 0 
)

Check and set an item.

Parameters:
$casTokenmixed
$keystring
$valuemixed
int$exptimeEither an interval in seconds or a unix timestamp for expiry
Returns:
bool success

Reimplemented from BagOStuff.

Definition at line 115 of file RedisBagOStuff.php.

RedisBagOStuff::delete ( key,
time = 0 
)

Delete an item.

Parameters:
$keystring
int$timeAmount of time to delay the operation (mostly memcached-specific)
Returns:
bool True if the item was deleted or not found, false on failure

Reimplemented from BagOStuff.

Definition at line 157 of file RedisBagOStuff.php.

RedisBagOStuff::get ( key,
&$  casToken = null 
)

Get an item with the given key.

Returns false if it does not exist.

Parameters:
$keystring
$casToken[optional]mixed
Returns:
mixed Returns false on failure

Reimplemented from BagOStuff.

Definition at line 71 of file RedisBagOStuff.php.

RedisBagOStuff::getConnection ( key) [protected]

Get a Redis object with a connection suitable for fetching the specified key.

Returns:
Array (server, RedisConnRef) or (false, false)

Definition at line 277 of file RedisBagOStuff.php.

Get an associative array containing the item for each of the keys that have items.

Parameters:
array$keysList of strings
Returns:
Array

Reimplemented from BagOStuff.

Definition at line 177 of file RedisBagOStuff.php.

RedisBagOStuff::handleException ( server,
RedisConnRef conn,
e 
) [protected]

The redis extension throws an exception in response to various read, write and protocol errors.

Sometimes it also closes the connection, sometimes not. The safest response for us is to explicitly destroy the connection object and let it be reopened during the next request.

Definition at line 310 of file RedisBagOStuff.php.

RedisBagOStuff::logError ( msg) [protected]

Log a fatal error.

Definition at line 300 of file RedisBagOStuff.php.

RedisBagOStuff::logRequest ( method,
key,
server,
result 
)

Send information about a single request to the debug log.

Definition at line 317 of file RedisBagOStuff.php.

RedisBagOStuff::replace ( key,
value,
expiry = 0 
)

Non-atomic implementation of replace().

Could perhaps be done atomically with WATCH or scripting, but this function is rarely used.

Reimplemented from BagOStuff.

Definition at line 244 of file RedisBagOStuff.php.

RedisBagOStuff::set ( key,
value,
exptime = 0 
)

Set an item.

Parameters:
$keystring
$valuemixed
int$exptimeEither an interval in seconds or a unix timestamp for expiry
Returns:
bool success

Reimplemented from BagOStuff.

Definition at line 90 of file RedisBagOStuff.php.


Member Data Documentation

bool RedisBagOStuff::$automaticFailover [protected]

*

Definition at line 26 of file RedisBagOStuff.php.

RedisConnectionPool RedisBagOStuff::$redisPool [protected]

*

Definition at line 24 of file RedisBagOStuff.php.

Array RedisBagOStuff::$servers [protected]

List of server names *.

Definition at line 25 of file RedisBagOStuff.php.


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