redis复制机制

文章目录

  • 1. Redis 复制机制
  • 2. 基本命令
  • 3. 修改配置文件
  • 4. 代码案例
    • 4.1 一主二仆
    • 4.2 薪火相传
    • 4.3 反客为主
  • 5. Redis复制工作流程
  • 6. Redis 复制的缺点

1. Redis 复制机制


概念 :

redis复制机制_第1张图片


Redis 复制机制 能干的活 :

  1. 读写分离 : 写 就找 主机 master , 读就找从机 Slave
  2. 容灾恢复 : 主机突然宕机 , 我们可以通过从机将数据恢复
  3. 数据备份
  4. 水平扩容支撑高并发

2. 基本命令


这里我们想要玩转 Redis复制 ,需要配置从机 .


注意 :只需要配置 从库 ,不需要配置主库


配置两台从机大致图 :

redis复制机制_第2张图片


关于如何配置 等下代码案例的时候会一步一步的配置 ,这里先来看看 Redis 复制的基本命令.

redis复制机制_第3张图片

3. 修改配置文件


说明 :

redis复制机制_第4张图片


配置文件


图一 :


图二 :

redis复制机制_第5张图片


图三 :


注意 : 上面拷贝的 6380 ,和 6381 对应的日志文件并没有修改 ,下面来修改一下.

redis复制机制_第6张图片


另外 : 端口号也需要更改一下

redis复制机制_第7张图片

4. 代码案例

4.1 一主二仆

启动 三台机器 :

redis复制机制_第8张图片

启动完后 ,我们可以 来看看 主机 和 从机的 日志文件

日志看完 , 就来 使用我们的第一个命令 info replication 查看 复制节点的主从关系和配置信息.


下面我们来 在主机上 创建几个数据 看看 从机是否能够获取到创建的数据

redis复制机制_第9张图片


到此 一主二仆 相关的配置与操作就完成了,下面我们来看几个问题 .


1. 从机可以执行写命令吗 ?


答案 : 不能

redis复制机制_第10张图片


2.从机切入点问题

redis复制机制_第11张图片


3. 主机 shutdown 后 , 从机会上位吗 ?


答案 : 从机不会上文 ,而是原地待命,等待主机重启归来


图二 :

redis复制机制_第12张图片



看完这三个问题, 下面我们来看第二个命令 : slaveof


slaveof 主机 IP 主机端口号 : 这个命令是 用来设置 从属关系的 ,


上面我们是通过 配置文件中的 replicaof 固定写死了 要跟随的主机 , 下面我们就通过 slaveof 来指定要跟随的主机 .


注意 : 通过 slaveof 配置的从属关系 ,会在宕机 或某种意外 使 从机 与 主机 master 断开之后 ,自动取消从属关系 . 如果要继续维持 从属关系 需要 在执行一遍 slaveof 命令.

图一 :

redis复制机制_第13张图片


图二 :


图三 :

redis复制机制_第14张图片

4.2 薪火相传


啥是薪火相传呢 ?


图一 :

redis复制机制_第15张图片

图二 :


图三 :


下面提出一个问题 : slave1 相当于 slave2 的 主机, 那么 slave 1 是能够进行写操作呢 ?

redis复制机制_第16张图片

4.3 反客为主


简单一句话 就是 :老子不干了 , 我不当小弟了, 我要当大哥 .


通过 slaveof no one 命令 , 使当前数据库停止与其他数据库的同步, 转变为 主机 master.

redis复制机制_第17张图片

5. Redis复制工作流程


6. Redis 复制的缺点

  1. 复制延时 , 信号衰弱

    redis复制机制_第18张图片


2. master 挂了 ,会导致无法进行写操作 . 从机 slave 只能进行读操作 , master 挂了之后 会一直等待 主机重新上线.


针对 从机 在 主机挂了之后 ,一直等待 主机上线 这个 行为 ,就引出我们接下来要学习的 Redis 哨兵 .

简单说一下为啥需要哨兵 , 因为 主机挂了,我们不可能一直让 从机等待 ,所以需要在从机中选一个机器让它当主机,但是从机在默认情况

下是不会自动重新选一个 主机的 ,此时就需要一个 人 来从 从机中选出一个 主机 选一个老大, 所以 哨兵就应运而生.

你可能感兴趣的:(redis,redis,数据库,缓存)