zoukankan      html  css  js  c++  java
  • redis主从复制

      单个的redis可以自己进行持久化,然后把数据保存到自己的硬盘中存着,但是时间久了,机器老化,硬盘坏了怎么办?或者由于不可抗力比如火灾等情况,基于这种情景,redis提供了主从复制的机制;

      主从复制:例如一个主节点redis,两个从节点redis,两个从节点的服务器随便放在那里都行,放家里还是放在公司都行;

      通常情况下主节点向外提供服务,从节点只是同步主节点中的数据不向外提供服务,所以当主节点的redis被由于不可抗力挂了,那么redis就用不了了;

      注意:主从复制架构只是用于提供备份功能,主节点坏了,从节点不会顶上去,redis服务就挂了!

    1. 主从节点配置

      5000端口是主节点,6000和7000是两个从节点,下图所示,为了便于测试,可以自己创建几个启动脚本:

      我们以5000端口为例

      cli5000.bat:

    redis-cli.exe -h 127.0.0.1 -p 5000

      

      启动redis5000.bat:

    redis-server .
    edis5000.conf

      redis5000.conf文件就是将原来的那个配置文件复制一份,修改一点东西

     

      至于其6000和7000节点的配置和上面一样,复制一份修改就行

      但是由于从节点需要指定主节点所在的ip和端口,所以在这两个从节点配置文件中还需要修改一个地方:

      我这里因为是本机测试的,假如你是远程的redis主机,在三个配置文件中需要将bind 127.0.0.1这里的配置改为bind 0.0.0.0   表示所有的客户端都可以远程连接

      这里的ip根据自己需要进行修改,假如你修改了,上面的slaveof这里的ip也就需要相应的修改

    2. 测试主从效果

      首先,点击 启动redis5000主.bat  和 启动redis6000从.bat 启动主从节点的服务端:

      我们双击cli5000.bat 和 cli6000.bat启动客户端:

      可以分别打开5000data和6000data目录,当满足持久化条件后就会有rdb和aof文件生成了;

      可以看到主从配置已经成功了,你可以打开你配制的所有从节点,都会自动从5000主节点中同步数据的;

      需要注意的是,从节点默认是不能写入数据的,只能读,因为从节点默认只做备份的作用

      想要从节点也能写入数据,我们只需要在配置文件中修改一个地方,然后重启redis服务端,下图所示:

      注意,从节点写入的数据,只会在当前从节点中的,不会同步到其他节点!

     

    --------------以上皆原创,给未来的自己留下一点学习的痕迹!--------
  • 相关阅读:
    Average of Levels in Binary Tree
    Maximum Average Subarray I
    Integer Replacement
    Add Digits
    Binary Tree Level Order Traversal II
    Majority Element II
    Majority Element
    匿名函数
    Django的Template不支持range()函数的问题解决办法
    python文件对比利用difflib库实现文件夹下详细内容对比
  • 原文地址:https://www.cnblogs.com/wyq1995/p/14347069.html
Copyright © 2011-2022 走看看