redis-sentinel client for php based on phpredis extension.
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