Redis主从复制哨兵

  • 用docker启动三个redis容器
    docker run --name redis-6379 -p 6379:6379 -d redis:3.2 redis-server
    docker run --name redis-6380 -p 6380:6379 -d redis:3.2 redis-server
    docker run --name redis-6381 -p 6381:6379 -d redis:3.2 redis-server
  • 配置reids集群
    docker inspect containerid(容器ID)
    2、三个redis的内网ip
    redis-6379:172.17.0.3:6379
    redis-6380:172.17.0.4:6379
    redis-6381:172.17.0.5:6379
  • 进入docker容器内部,查看当前redis角色(主master还是从slave)命令:info replication)
    127.0.0.1:6379> info replication
    Replication
    role:master
    connected_slaves:0
    master_replid:a44f60e68f4d128750c2d09a00c9d4a1b6b643d1
    master_replid2:0000000000000000000000000000000000000000
    master_repl_offset:0
    second_repl_offset:-1
    repl_backlog_active:0
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:0
    repl_backlog_histlen:0
  • 当前3台redis都是master角色,使用redis-cli命令修改redis-6380、redis-6381的主机为172.17.0.3:6379
    [root@localhost ~]# docker exec -it redis-6381 redis-cli
    127.0.0.1:6379> slaveof 172.17.0.3 6379
    OK
  • 再次查看主机info,已经有两个从机了(.4 和 .5)

1、对主机写操作set key 1,丛机也能读到。主机挂掉之后,从机仍然是从机,依旧能读。当主机恢复之后,就能读到新的

2、如果是使用的命令行,配置的主从,从机挂掉了后重启,立马变成主机。当重新配了主机后,立马能读到主机的数据。发生全量复制

3、当主机挂掉之后,可以使用slaveof no one(手动)

哨兵模式(主动)

图片说明
图片说明
主机挂了之后,会发生心跳检测,默认三分钟后,哨兵会随机挑选从机变成主机
如果此时主机回来了,也只能变成从机

全部评论

相关推荐

Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 11:30
找工作7个月,投了7000封,3段世界五百强实习,才有一个offer,牛油们肯定比我强吧
码农索隆:不对不对不对,实习经历这么厉害,简历也没少投,问题出在哪呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务