• 技术文章 >php框架 >Laravel

    Redis哨兵使用以及在Laravel中的配置

    步履不停步履不停2019-06-28 17:39:00原创2287

    主从配置(master-slave)

    sudo cp /etc/redis.conf /etc/redis-6381.conf

    sudo 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 的时候好像不会去添加这一行

    哨兵配置(sentinel)

    sudo cp /etc/redis-sentinel.conf /etc/redis-sentinel-26381.conf

    sudo 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转移失败

    laravel 哨兵配置

    '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教程栏目进行学习!

    以上就是Redis哨兵使用以及在Laravel中的配置的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Redis Laravel
    上一篇:RabbitMQ的应用场景以及基本原理介绍 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • redis一般存储什么类型数据• redis会发生死锁问题吗• redis是多线程的吗
    1/1

    PHP中文网