NoSQL——Redis主从复制

一、Redis的主从复制

        概念:主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,master以写为主,slaver以读为主。

二、Redis主从复制的功能

      1.读写分离

      2.容灾恢复

三、如何配置

       1.拷贝多个redis.conf文件

       2.redis.conf拷贝复制

       现在我们拷贝了三个redis实例,接下来要开启daemonize (yes)

       

       

         

       将三个实例都按照以上方法改成对应的,名字和端口

       3.启动三个实例

      配从不配主

      (1)一主二从

 

 

如果主机挂掉,那么从机只是等待

每次与master断开之后,都需要重新连接,那么怎么解决?直接配置到redis.conf文件。

     (2)“挂载模式” (三台机器可以传递)

       

        (3)如果主机挂掉那么如何解决?

           SLAVEOF no one :使当前数据库停止与其他数据库同步,转成主数据库

问题又来了,如果故障出在,半夜怎么办?还有主机恢复了和其他两个机器又有什么关系?

    (4)哨兵模式(生产)

      能够后台监听故障,一但主机挂掉,立即投票自动将从机转为主机。

      步骤:

              步骤1:自定义的/myredis目录下新建sentinel.conf文件(名字不能错),用于配置哨兵模式,sentinel monitor 被监控数据库名字(自定义名字)127.0.0.1 6379 1 (1:投票数,表示主机挂掉后salve投票看让谁替换为主机,得票数多成为主机)

              例如:sentinel monitor host6379 127.0.0.1 6379 1

             步骤2:启动哨兵Redis-sentinel /myredis/sentinel.conf(根据实际情况配置,可能目录不同)

             步骤3:将6379停掉,模拟主机挂掉,此时哨兵开始轮询投票

           步骤4:查看主从机信息

* 一个哨兵模式可以监控多个主机,可以在文件中指定。

* 生产上主从复制可能会出现复制延迟,不可避免。