Rumah > Artikel > rangka kerja php > Redis哨兵使用以及在Laravel中的配置
sudo cp /etc/redis.conf /etc/redis-6381.confsudo cp /etc/redis.conf /etc/redis-6382.conf
port 6381 pidfile "/var/run/redis-6381.pid" logfile "/var/log/redis/redis-6381.log" slaveof 11.11.11.11 6381 masterauth "123456" # 主从都保持一样的密码,且 master 的配置也需要这一行,在执行切换 master 的时候好像不会去添加这一行
sudo cp /etc/redis-sentinel.conf /etc/redis-sentinel-26381.confsudo cp /etc/redis-sentinel.conf /etc/redis-sentinel-26382.conf
port 26381 pidfile "/var/run/redis-sentinel-26381.pid" logfile "/var/log/redis/redis-sentinel-26381.log" sentinel monitor mymaster 11.11.11.11 6379 2 #主节点别名为mymaster,后面是ip和端口,2代表判断主节点失败至少需要2个sentinel节点同意 sentinel auth-pass mymaster 123456 sentinel down-after-milliseconds mymaster 30000 #主节点故障30秒后启用新的主节点 sentinel parallel-syncs mymaster 1 #故障转移时最多可以有1个从节点同时对主节点进行数据同步,数字越大,用时越短,存在网络和 IO 开销 sentinel failover-timeout mymaster 180000 #故障转移超时时间180s:a 如果转移超时失败,下次转移时时间为之前的2倍;b 从节点变主节点时,从节点执行 slaveof no one 命令一直失败的话,当时间超过180S时,则故障转移失败;c 从节点复制新主节点时间超过180S转移失败
'default' => [ 'tcp://11.11.11.11:26379', 'tcp://11.11.11.11:26381', 'tcp://11.11.11.11:26382', //这3个都是sentinel节点的地址 'options' => [ 'replication' => 'sentinel', 'service' => env('REDIS_SENTINEL_SERVICE', 'mymaster'), //sentinel 'parameters' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'port' => env('REDIS_PORT', 6379), 'password' => env('REDIS_PASSWORD', null), //redis的密码,没有时写null 'database' => 0, ], ], ]
更多Laravel相关技术文章,请访问Laravel教程栏目进行学习!
Atas ialah kandungan terperinci Redis哨兵使用以及在Laravel中的配置. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!