• redis复制机制


    1. Redis 复制机制


    概念 :

    在这里插入图片描述


    Redis 复制机制 能干的活 :

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

    2. 基本命令


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


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


    配置两台从机大致图 :

    在这里插入图片描述


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

    在这里插入图片描述

    3. 修改配置文件


    说明 :

    在这里插入图片描述


    配置文件


    图一 :

    在这里插入图片描述


    图二 :

    在这里插入图片描述


    图三 :

    在这里插入图片描述


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

    在这里插入图片描述


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

    在这里插入图片描述

    4. 代码案例

    4.1 一主二仆

    启动 三台机器 :

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述


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

    在这里插入图片描述


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


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


    答案 : 不能

    在这里插入图片描述


    2.从机切入点问题

    在这里插入图片描述


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


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

    在这里插入图片描述


    图二 :

    在这里插入图片描述



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


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


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


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

    图一 :

    在这里插入图片描述


    图二 :

    在这里插入图片描述


    图三 :

    在这里插入图片描述

    4.2 薪火相传


    啥是薪火相传呢 ?


    图一 :

    在这里插入图片描述

    图二 :

    在这里插入图片描述


    图三 :

    在这里插入图片描述


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

    在这里插入图片描述

    4.3 反客为主


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


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

    在这里插入图片描述

    5. Redis复制工作流程


    在这里插入图片描述

    6. Redis 复制的缺点

    1. 复制延时 , 信号衰弱

      在这里插入图片描述


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


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

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

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

  • 相关阅读:
    CPU体系(2):ARM Store Buffer
    mac inter 芯片遇到程序无法打开(无法验证开发者)
    python实现从excel导出csv最完整版本,openpyxl,pandas,xlrd全家桶
    解决Android7.x 以上正式(release)包无法抓https协议的问题
    网页制作基础大二dw作业HTML+CSS+JavaScript云南我的家乡旅游景点
    一文讲清楚网络安全是什么?网络安全工程师需要学什么?就业前景如何?
    约数个数定理
    【Python爬虫】批量爬取豆瓣电影排行Top250
    Java8的SerializedLambda详解
    python正则表达式的使用
  • 原文地址:https://blog.csdn.net/mu_tong_/article/details/130694952