Laravel支持redis sentinel集群
在laravel中redis客户端选用Predis,修改config/database.php里面的redis配置
例如:
'default' => [
'tcp://127.0.0.1:26379', //sentinel
'tcp://127.0.0.1:26378',
'options' => [
'replication' => 'sentinel', //这个不能改
'service' => 'my_master', //sentinel监控的master name
'parameters' => [
'password' => 'redis_password', //redis的密码
'database' => 0, //初始选中的库
],
]
]
注:
1、Predis 开启sentinel后,会自动根据请求的命令,读写分离
2、业务中对主从同步时间敏感的可以指定连接master,连接方式:$connect = Redis::connection()->getClientFor('master');
注:Redis::connection()->getClientFor('master')->info() 能返回全部的redis info,可以根据section返回某项信息
Redis::connection()->getConnectionById('master')->getParameters()->toArray() 可以返回master的服务器信息
也可以Redis::connection()->getConnectionById('master')->getParameters()->host单项返回
上面两个信息,可以方便做一些自定义的监控
3、最少两台redis实例组成互备集群,当一台下线时,读写都操作master
predis代码:


浙公网安备 33010602011771号