zoukankan      html  css  js  c++  java
  • redis主从配置及主从切换

    环境描述:
    主redis:192.168.10.1 6379
    从redis:192.168.10.2 6380

    一、主从配置

    1、将主从redis配置文件redis.conf中的aemonize no 改为 yes

    2、修改从redis配置文件redis.conf中的port 6379 改为 6380,添加slaveof 192.168.10.1 6379 

    3、启动主从服务

          主redis:      

          [root@localhost redis-2.8.3]# src/redis-server /soft/redis-2.8.3-master/redis-2.8.3/redis.conf

         从redis:

         [root@localhost redis-2.8.3]# src/redis-server /soft/redis-2.8.3-slave/redis-2.8.3/redis.conf

    4、测试数据同步

          主redis:

          [root@localhost redis-2.8.3]# src/redis-cli -p 6379
         127.0.0.1:6379> set name abc
         OK
         127.0.0.1:6379> get name
         "abc"
         127.0.0.1:6379>

        从redis:

          [root@localhost redis-2.8.3]# src/redis-cli -p 6380
         127.0.0.1:6380> get name
         "abc"
         127.0.0.1:6380>

    5、默认是读写分离的

         在从redis:

         [root@localhost redis-2.8.3]# src/redis-cli -p 6380
         127.0.0.1:6380> set name 123
         (error) READONLY You can't write against a read only slave.

          

     二、主从切换

         1、停止主redis

         [root@localhost redis-2.8.3]# src/redis-cli -n 6379 shutdown
         [root@localhost redis-2.8.3]# src/redis-cli -p 6379
         Could not connect to Redis at 127.0.0.1:6379: Connection refused
         not connected>

         2、将从redis设成主redis
         [root@localhost redis-2.8.3]# src/redis-cli -p 6380 slaveof NO ONE
         OK

        3、测试从redis是否切换从主redis

         [root@localhost redis-2.8.3]# src/redis-cli -p 6380
         127.0.0.1:6380> set name 123
         OK
         127.0.0.1:6380> get name
         "123"
         127.0.0.1:6380>

         4、原来的主redis恢复正常了,要重新切换回去

             1)将现在的主redis的数据进行保存

         [root@localhost redis-2.8.3]# src/redis-cli -p 6380
         127.0.0.1:6380> get name
         "abc"
         127.0.0.1:6380> set name 123
         OK
         127.0.0.1:6380> get name
         "123"
         127.0.0.1:6380> save
         OK
         127.0.0.1:6380> get name
         "123"
         127.0.0.1:6380>  

           2)将现在的主redis根目录下dump.rdb文件拷贝覆盖到原来主redis的根目录

           3)启动原来的主redis

          [root@localhost redis-2.8.3]# src/redis-server /soft/redis-2.8.3-master/redis-2.8.3/redis.conf
           4)在现在的主redis中切换

          [root@localhost redis-2.8.3]# src/redis-cli -p 6380 slaveof 192.168.10.1 6379
          OK

    -----------------------------

    Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面楼主简单的进行一下配置。

      1、上面安装好的一个Redis作为master,然后使用VirtualBox的虚拟机克隆功能将刚刚那个linux系统克隆一份作为slave,并修改其IP为192.168.0.110。

      2、修改slave的redis配置文件:

        slaveof 192.168.0.100 6379  (映射到主服务器上)

        如果master设置了验证密码,还需配置masterauth。楼主的master设置了验证密码为admin,所以配置masterauth admin。

      配置完之后启动slave的Redis服务,OK,主从配置完成。下面测试一下:

      在master和slave分别执行info命令,查看结果如下:

      master:

      slave:

    然后在master执行set age 24

    在slave执行get age,看是否能得到24,如果能够得到值则说明配置成功。

  • 相关阅读:
    修改表结构
    enum/set 约束
    MYSQL 数据类型
    表和数据的基础操作
    存储引擎
    mysql
    HTML 介绍
    selor模块
    select
    协程
  • 原文地址:https://www.cnblogs.com/zzsdream/p/6865883.html
Copyright © 2011-2022 走看看