redis哨兵测试
<?php
//初始化redis对象
$redis = new Redis();
//连接sentinel服务 host为ip,port为端口
$redis->connect('127.0.0.1', '26382');
//获取主库列表及其状态信息
$result = $redis->rawCommand('SENTINEL', 'masters');
$master_name = 'mymaster';
//根据所配置的主库redis名称获取对应的信息
//master_name 为哨兵配置文件中设定的名称
$result = $redis->rawCommand('SENTINEL', 'master', $master_name);
var_dump($result, 11);
//根据所配置的主库redis名称获取其对应从库列表及其信息
$result = $redis->rawCommand('SENTINEL', 'slaves', $master_name);
var_dump($result,222);
//获取特定名称的redis主库地址
$result = $redis->rawCommand('SENTINEL', 'get-master-addr-by-name', $master_name);
var_dump($result, 33);
$r = new Redis();
$r->connect($result[0], $result[1]);
$r->set('aa', '123456');
var_dump($r);
结果:
array(40) {
[0]=>
string(4) "name"
[1]=>
string(8) "mymaster"
[2]=>
string(2) "ip"
[3]=>
string(9) "127.0.0.1"
[4]=>
string(4) "port"
[5]=>
string(4) "6381"
[6]=>
string(5) "runid"
[7]=>
string(40) "c8ee619493525d62614a2c17904ba7aaf4579ebf"
[8]=>
string(5) "flags"
[9]=>
string(6) "master"
[10]=>
string(21) "link-pending-commands"
[11]=>
string(1) "0"
[12]=>
string(13) "link-refcount"
[13]=>
string(1) "1"
[14]=>
string(14) "last-ping-sent"
[15]=>
string(1) "0"
[16]=>
string(18) "last-ok-ping-reply"
[17]=>
string(3) "465"
[18]=>
string(15) "last-ping-reply"
[19]=>
string(3) "465"
[20]=>
string(23) "down-after-milliseconds"
[21]=>
string(4) "3000"
[22]=>
string(12) "info-refresh"
[23]=>
string(4) "5859"
[24]=>
string(13) "role-reported"
[25]=>
string(6) "master"
[26]=>
string(18) "role-reported-time"
[27]=>
string(8) "58839746"
[28]=>
string(12) "config-epoch"
[29]=>
string(1) "0"
[30]=>
string(10) "num-slaves"
[31]=>
string(1) "2"
[32]=>
string(19) "num-other-sentinels"
[33]=>
string(1) "2"
[34]=>
string(6) "quorum"
[35]=>
string(1) "2"
[36]=>
string(16) "failover-timeout"
[37]=>
string(6) "180000"
[38]=>
string(14) "parallel-syncs"
[39]=>
string(1) "1"
}
int(11)
array(2) {
[0]=>
array(40) {
[0]=>
string(4) "name"
[1]=>
string(14) "127.0.0.1:6380"
[2]=>
string(2) "ip"
[3]=>
string(9) "127.0.0.1"
[4]=>
string(4) "port"
[5]=>
string(4) "6380"
[6]=>
string(5) "runid"
[7]=>
string(40) "189e83ee1bb34aabc8b1492bccc5618bf53ac8d6"
[8]=>
string(5) "flags"
[9]=>
string(5) "slave"
[10]=>
string(21) "link-pending-commands"
[11]=>
string(1) "0"
[12]=>
string(13) "link-refcount"
[13]=>
string(1) "1"
[14]=>
string(14) "last-ping-sent"
[15]=>
string(1) "0"
[16]=>
string(18) "last-ok-ping-reply"
[17]=>
string(3) "508"
[18]=>
string(15) "last-ping-reply"
[19]=>
string(3) "508"
[20]=>
string(23) "down-after-milliseconds"
[21]=>
string(4) "3000"
[22]=>
string(12) "info-refresh"
[23]=>
string(4) "5902"
[24]=>
string(13) "role-reported"
[25]=>
string(5) "slave"
[26]=>
string(18) "role-reported-time"
[27]=>
string(8) "58839782"
[28]=>
string(21) "master-link-down-time"
[29]=>
string(1) "0"
[30]=>
string(18) "master-link-status"
[31]=>
string(2) "ok"
[32]=>
string(11) "master-host"
[33]=>
string(9) "127.0.0.1"
[34]=>
string(11) "master-port"
[35]=>
string(4) "6381"
[36]=>
string(14) "slave-priority"
[37]=>
string(3) "100"
[38]=>
string(17) "slave-repl-offset"
[39]=>
string(7) "1452038"
}
[1]=>
array(40) {
[0]=>
string(4) "name"
[1]=>
string(14) "127.0.0.1:6382"
[2]=>
string(2) "ip"
[3]=>
string(9) "127.0.0.1"
[4]=>
string(4) "port"
[5]=>
string(4) "6382"
[6]=>
string(5) "runid"
[7]=>
string(40) "0765246ac1c158bda98c529eaca0cb639f78a673"
[8]=>
string(5) "flags"
[9]=>
string(5) "slave"
[10]=>
string(21) "link-pending-commands"
[11]=>
string(1) "0"
[12]=>
string(13) "link-refcount"
[13]=>
string(1) "1"
[14]=>
string(14) "last-ping-sent"
[15]=>
string(1) "0"
[16]=>
string(18) "last-ok-ping-reply"
[17]=>
string(2) "99"
[18]=>
string(15) "last-ping-reply"
[19]=>
string(2) "99"
[20]=>
string(23) "down-after-milliseconds"
[21]=>
string(4) "3000"
[22]=>
string(12) "info-refresh"
[23]=>
string(4) "3965"
[24]=>
string(13) "role-reported"
[25]=>
string(5) "slave"
[26]=>
string(18) "role-reported-time"
[27]=>
string(8) "58839782"
[28]=>
string(21) "master-link-down-time"
[29]=>
string(1) "0"
[30]=>
string(18) "master-link-status"
[31]=>
string(2) "ok"
[32]=>
string(11) "master-host"
[33]=>
string(9) "127.0.0.1"
[34]=>
string(11) "master-port"
[35]=>
string(4) "6381"
[36]=>
string(14) "slave-priority"
[37]=>
string(3) "100"
[38]=>
string(17) "slave-repl-offset"
[39]=>
string(7) "1452304"
}
}
int(222)
array(2) {
[0]=>
string(9) "127.0.0.1"
[1]=>
string(4) "6381"
}
int(33)
object(Redis)#2 (1) {
["socket"]=>
resource(7) of type (Redis Socket Buffer)
}