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

    redis主从配置及主从切换 转自 http://blog.sina.com.cn/s/blog_67196ddc0101h8v0.html

     (2014-04-28 17:48:47)
      分类: java

    环境描述:

    redis192.168.10.1 6379

    redis192.168.10.2 6380

    一、主从配置

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

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

    如果主redis有密码 masterauth password

    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

  • 相关阅读:
    linux下常见的网络相关参数简介
    nginx编译安装
    mysql主从同步报错Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
    mysql报错Do you already have another mysqld server running on socket
    php编译安装
    APP测试の: MonKeyRunner___录制与回放
    Python生成指定容量文本文档
    django 误人子弟快速上手
    curl 使用方法
    APP 自动化框架实现结构图
  • 原文地址:https://www.cnblogs.com/gym333/p/4029520.html
Copyright © 2011-2022 走看看