MediaWiki
REL1_22
|
Helper class to manage Redis connections. More...
Public Member Functions | |
freeConnection ($server, Redis $conn) | |
Mark a connection to a server as free to return to the pool. | |
getConnection ($server) | |
Get a connection to a redis server. | |
handleException ($server, RedisConnRef $cref, RedisException $e) | |
The redis extension throws an exception in response to various read, write and protocol errors. | |
Static Public Member Functions | |
static | singleton (array $options) |
Public Attributes | |
const | SERVER_DOWN_TTL = 30 |
integer; seconds to cache servers as "down". | |
Protected Member Functions | |
__construct (array $options) | |
closeExcessIdleConections () | |
Close any extra idle connections if there are more than the limit. | |
Static Protected Member Functions | |
static | applyDefaultConfig (array $options) |
Protected Attributes | |
Array | $connections = array() |
(server name => ((connection info array),...) * | |
Array | $downServers = array() |
(server name => UNIX timestamp) * | |
integer | $idlePoolSize = 0 |
Current idle pool size *. | |
Pool settings. | |
Settings there are shared for any connection made in this pool. See the singleton() method documentation for more details. | |
string | $connectTimeout |
Connection timeout in seconds *. | |
string | $password |
Plaintext auth password *. | |
bool | $persistent |
Whether connections persist *. | |
integer | $serializer |
Serializer to use (Redis::SERIALIZER_*) *. | |
Static Protected Attributes | |
static | $instances = array() |
Helper class to manage Redis connections.
This can be used to get handle wrappers that free the handle when the wrapper leaves scope. The maximum number of free handles (connections) is configurable. This provides an easy way to cache connection handles that may also have state, such as a handle does between multi() and exec(), and without hoarding connections. The wrappers use PHP magic methods so that calling functions on them calls the function of the actual Redis object handle.
Definition at line 38 of file RedisConnectionPool.php.
RedisConnectionPool::__construct | ( | array $ | options | ) | [protected] |
array | $options |
Definition at line 65 of file RedisConnectionPool.php.
static RedisConnectionPool::applyDefaultConfig | ( | array $ | options | ) | [static, protected] |
RedisConnectionPool::closeExcessIdleConections | ( | ) | [protected] |
Close any extra idle connections if there are more than the limit.
Definition at line 241 of file RedisConnectionPool.php.
RedisConnectionPool::freeConnection | ( | $ | server, |
Redis $ | conn | ||
) |
Mark a connection to a server as free to return to the pool.
$server | string |
$conn | Redis |
Definition at line 220 of file RedisConnectionPool.php.
RedisConnectionPool::getConnection | ( | $ | server | ) |
Get a connection to a redis server.
Based on code in RedisBagOStuff.php.
string | $server | A hostname/port combination or the absolute path of a UNIX socket. If a hostname is specified but no port, port 6379 will be used. |
MWException |
Definition at line 134 of file RedisConnectionPool.php.
RedisConnectionPool::handleException | ( | $ | server, |
RedisConnRef $ | cref, | ||
RedisException $ | e | ||
) |
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.
$server | string |
$cref | RedisConnRef |
$e | RedisException |
Definition at line 269 of file RedisConnectionPool.php.
static RedisConnectionPool::singleton | ( | array $ | options | ) | [static] |
$options | Array $options include:
|
Definition at line 113 of file RedisConnectionPool.php.
Referenced by RedisPubSubFeedEngine\send().
Array RedisConnectionPool::$connections = array() [protected] |
(server name => ((connection info array),...) *
Definition at line 53 of file RedisConnectionPool.php.
string RedisConnectionPool::$connectTimeout [protected] |
Connection timeout in seconds *.
Definition at line 45 of file RedisConnectionPool.php.
Array RedisConnectionPool::$downServers = array() [protected] |
(server name => UNIX timestamp) *
Definition at line 54 of file RedisConnectionPool.php.
integer RedisConnectionPool::$idlePoolSize = 0 [protected] |
Current idle pool size *.
Definition at line 51 of file RedisConnectionPool.php.
RedisConnectionPool::$instances = array() [static, protected] |
Definition at line 57 of file RedisConnectionPool.php.
string RedisConnectionPool::$password [protected] |
Plaintext auth password *.
Definition at line 46 of file RedisConnectionPool.php.
bool RedisConnectionPool::$persistent [protected] |
Whether connections persist *.
Definition at line 47 of file RedisConnectionPool.php.
integer RedisConnectionPool::$serializer [protected] |
Serializer to use (Redis::SERIALIZER_*) *.
Definition at line 48 of file RedisConnectionPool.php.
const RedisConnectionPool::SERVER_DOWN_TTL = 30 |
integer; seconds to cache servers as "down".
Definition at line 60 of file RedisConnectionPool.php.