• Redis的复制(Master/Slave)、主从复制、读写分离


    1、什么是Redis的复制

      行话:也就是我们所说的主从复制,主数据更新后根据配置和策略自动同步到备用机的master/slave机制,Mater以写为主,slave以读为主。

    2、能干什么

      2.1、读写分离

      2.2、容灾恢复

    3、怎么用

      3.1、配从(库)不配主(库)

      3.2、从库配置:slave     主库IP     主库端口

      3.3、修改配置文件细节操作

      3.4常用三招

        3.4.1、一主二仆

          1、init

          2、一个Master两个Slave

          3、日志查看

          4、主从问题演示

        3.4.2、薪火相传

          上一个slaver可以是下一个slaver的Master,Slaver同样可以接收其他Slaver的链接和同步请求,那么该Slaver作为同一个链上的下一个Slaver的master,可以减轻Master的写压力。

      注意:中途转向会清除之前的数据,重新建立拷贝最新的

        中间的从机,总体上来说还是从机

        3.4.3、反客为主

    4、实现过程

    一主二仆:

      1、创建三个主机、每个都初始化

    127.0.0.1:6381> info replication
    # Replication
    role:master
    connected_slaves:0
    master_repl_offset:0
    repl_backlog_active:0
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:0
    repl_backlog_histlen:0
    127.0.0.1:6381> 

      2、主机6379设值

    127.0.0.1:6380> set k1 v1
    OK
    127.0.0.1:6380> set k2 v2
    OK
    127.0.0.1:6380> set k3 v3
    OK

      3、从机备份

    127.0.0.1:6379> slaveof 127.0.0.1 6379
    OK

      4、直接获取值(后面插入的也可以直接获取)

    127.0.0.1:6380> get k1
    "v1"

     薪火相传:

      主机

    127.0.0.1:6379> set k9 v9
    OK

      从机

    127.0.0.1:6380> get k9
    "v9"

      从机的从机

    127.0.0.1:6380> get k9
    "v9"

    反客为主:

      1、让主机死掉

      2、从机变为主机

    127.0.0.1:6380> slaveof no one
    OK
    127.0.0.1:6380> info replication
    # Replication
    role:master
    connected_slaves:0
    master_repl_offset:907
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:2
    repl_backlog_histlen:906
    127.0.0.1:6380> 
    127.0.0.1:6380> keys *
    1) "k1"
    2) "k9"
    127.0.0.1:6380> set k10 v10
    OK

      3、从机转换原来的主机

    127.0.0.1:6381> SLAVEOF 127.0.0.1 6380
    OK
    127.0.0.1:6381> get k10
    "v10"

    注意:注意死了,从机还是从机,从机原地待命。从机死了,从机活过来,他就是主机了,需要重新建立关系。除非你在配置进redis.conf文件

  • 相关阅读:
    @SuppressWarnings("rawtypes") 是什么含义
    Oracle存在则更新,不存在则插入应用-merge
    word 2010中设置默认粘贴为 只保留文本粘贴【visio也适用于快捷键方式】
    List的remove()方法的三种正确打开方式
    纵表和横表的概念及其相互转换
    log4j.xml简单配置实现在控制台打印sql执行语句【加注释】
    NGUI例子Scroll View场景中item添加点击后自动滑到终点
    unity3d 日志捕捉
    Unity3D研究院之动态修改烘培贴图的大小&脚本烘培场景
    Unity3D研究之Prefab里面的Prefab关联问题
  • 原文地址:https://www.cnblogs.com/karrya/p/11279903.html
Copyright © 2020-2023  润新知