Redis服务器具体配置redis
127.0.0.1 :6379(主)shell
127.0.0.1 :6380(从)服务器
127.0.0.1 :6381(从)spa
第一阶段:slave与master创建链接
第二阶段:slave向master发起同步请求
第三阶段:slave接受master发来的dump.rdb数据
第四阶段:slave载入dumo.rdb文件 code
1.首先要有3个redis实例,安装1个redis,复制2个redis(redis-master ,redis-slave1,redis-slave2)orm
2.分别配置redis.conf 不一样的port 不一样的pid 不一样的redis文件夹配置master的redis.conf server
redis-mater 配置默认不变ip
redis-slave1的redis.conf配置: 同步
pidfile /var/run/redis1.pid #改变pid的文件名 port 6380 #改变port端口号 dir /usr/local/redis1 #改变路径 slaveof 127.0.0.1 6379 #绑定主的ip和端口
redis-slave2的redis.conf配置:it
pidfile /var/run/redis2.pid #改变pid的文件名 port 6381 #改变port端口号 dir /usr/local/redis2 #改变路径 slaveof 127.0.0.1 6379 #绑定主的ip和端口
配置完成后就开启这三个redis :分别跳到三个Redis实例中,执行对应命令
$:src/redis-server redis.conf
可是当主从的主,发生宕机时,数据确定就断了,致使数据不能写入,reids的做者也想到了这一点,因此在redis2.6以上中就有了reids的监控软件sentinel(哨兵),sentinel会监控redis的主从是否存在,若是监控到主断掉了,那么就把从提高到主
建立一个实例 redis-sentinel , 打开 sentinel.conf配置以下
port 26379 #master sentinel monitor master1 127.0.0.1 6379 1 #填写master的ip port sentinel down-after-milliseconds master1 3000 sentinel failover-timeout master1 900000 sentinel can-failover master1 yes sentinel parallel-syncs master1 2
启动哨兵:
$: src/redis-sentinel sentinel.conf
通常一个master最好配置两个sentinel才能作故障转移