/redis-sentinel

PHP 5.3+ redis-sentinel client for php based on phpredis extension.

Primary LanguagePHP

redis-sentinel

Latest Stable Version Total Downloads Latest Unstable Version License travis

redis-sentinel client for php based on phpredis extension.

examples

Get Redis master address and create Redis object:

$sentinel = new \Jenner\RedisSentinel\Sentinel();
$sentinel->connect('127.0.0.1', 6379);
$address = $sentinel->getMasterAddrByName('mymaster');

$redis = new Redis();
$redis->connect($address['ip'], $address['port']);
$info = $redis->info();
print_r($info);

Create redis-sentinel pool and create Redis object:

$sentinel_pool = new \Jenner\RedisSentinel\SentinelPool();
$sentinel_pool->addSentinel('127.0.0.1', 26379);
$sentinel_pool->addSentinel('127.0.0.1', 26380);

$address = $sentinel_pool->master('mymaster');
print_r($address);

$redis = $sentinel_pool->getRedis('mymaster');
$info = $redis->info();
print_r($info);

In order to prevent redis/sentinel to wait too long for connections in case of issues with the Redis backend it's advisable to use a timeout (in seconds):

$sentinel_pool->addSentinel('127.0.0.1', 26380, 1.0); # 1 second timeout