• Redis与分布式-主从复制


    接上文 常用中间件-OAuth2

    1.主从复制

    在这里插入图片描述
    启动两个redis服务器。
    修改第一个服务器地址
    在这里插入图片描述
    在这里插入图片描述

    修改第二个redis
    在这里插入图片描述
    然后分别启动

    redis-server.exe redis.windows.conf
    
    • 1

    在这里插入图片描述

    在这里插入图片描述
    )
    查看当前服务器的主从状态,打开客户端:输入info replication命令来查看当前的主从状态,可以看到默认的角色:master,从节点数量为0。
    也就是说所有的服务器启动之后都是主节点状态,此时若想要让6002作为从节点通过一个命令即可。在这里插入图片描述

    replicaof 127.0.0.1 6001
    
    • 1

    可以看到输入命令后,查看6002redis服务器的状态,会将6001服务器作为主节点,而当前节点作为6001的从节点,并且角色也会变为slave
    在这里插入图片描述
    查看6001服务器状态,发现已经有了一个从节点
    在这里插入图片描述
    现在6001作为一个主机,6002作为一个从机出现。其中还有一个参数offset=224,即偏移量,这个偏移量反应的是从节点的同步情况。
    在这里插入图片描述
    测试:从主节点新增数据,查看是否会同步到从节点:
    主服务器新增数据
    在这里插入图片描述
    在这里插入图片描述
    用从节点写入一个数据,发现写入不了,即从节点只能读不能写。
    在这里插入图片描述
    若不想让6002作为6001的从节点,则需要输入slaveof no one或者replicaof no one即可
    在这里插入图片描述
    在这里插入图片描述
    再启动一台6003的redis服务器。
    在这里插入图片描述
    修改redis.windows.conf文件中的port,改为6003,然后启动
    在这里插入图片描述
    进入6003服务,查看状态
    在这里插入图片描述
    将6003作为6001的从节点
    在这里插入图片描述
    在这里插入图片描述
    当主节点关闭后,从节点依然可以读取数据:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这样一定程度能防止数据丢失。
    但是这样每次用命令配置太麻烦,因此可以再配置文件中配置,添加replicaof 127.0.0.1 6001,这样从服务器启动会自动连接到主服务器
    先将6001,6002都关闭
    在这里插入图片描述
    在这里插入图片描述
    然后开启6001,6002,6003,进入6001查看状态,有两个从节点
    在这里插入图片描述
    此时offset=140,添加一个数据后,offset变为225
    在这里插入图片描述
    除了作为Master的从节点外,还可以将其作为从节点的从节点,比如让6003作为6002的从节点:
    先进入6003服务器,通过replicaof 127.0.0.1 6002设置为6002的从节点
    在这里插入图片描述
    在这里插入图片描述
    优点是减少了主节点的压力,缺点是整个链路出现问题,那么会导致后边的从节点无法及时同步。

  • 相关阅读:
    c++ 左值,右值
    XYNUOJ 1256 喷水装置(一)—贪心算法
    JVM运行时数据区——直接内存
    删除不必要的内核模块
    【CTA系列】Kelly公式在最优f问题上的应用
    BUUCTF [GXYCTF2019]luck_guy
    渗透测试流程之DVWA漏洞靶场部署
    XMLDecoder解析流程分析
    文件批量移动自动创建文件夹及生成编号重命名,让整理更轻松
    Centos7查看大文件(实用的)
  • 原文地址:https://blog.csdn.net/weixin_43917045/article/details/133359313