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

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

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

    2、 修改从redis配置文件redis.conf中的port 6379 改为 6380,配置如下:

    slaveof 192.168.10.1 6380 #指定master的ip和端口
    masterauth 123456 #主服务器有密码需开启此项配置


    3、启动主从服务
    主redis:redis-server redis-6379.conf
    从redis:redis-server redis-6380.conf
    4、测试数据同步
    主redis:
    redis 127.0.0.1:6379> get name
    "zhangsan"
    redis 127.0.0.1:6379> set name redis-6379
    OK
    redis 127.0.0.1:6379> get name
    "redis-6379"
    redis 127.0.0.1:6379>

    从redis:
    redis 127.0.0.1:6380> get name
    "redis-6379"
    redis 127.0.0.1:6380>

    5、默认是读写分离的(从2.6开始,从redis默认为只读)
    在从redis:redis-server redis-6380.conf
    redis 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]# redis-cli -n 6379 shutdown
    [root@localhost redis-2.8.3]# 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]# redis-cli -p 6380 slaveof NO ONE
    OK

    3、测试从redis是否切换从主redis
    [root@localhost redis-2.8.3]# 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状态
    127.0.0.1:6380>info
    ...
    vm_enabled:0
    role:master
    db0:keys=1446,expires=224

    5、原来的主redis恢复正常了,要重新切换回去
    a、将现在的主redis的数据进行保存
    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>

    b、将现在的主redis根目录下dump.rdb文件拷贝覆盖到原来主redis的根目录
    c、启动原来的主redis
    主redis# redis-server redis-6379.conf
    d、在现在的主redis中切换
    主redis# redis-cli -p 6380 slaveof 192.168.10.1 6379

    e、查询redis状态
    redis 127.0.0.1:6379> info
    vm_enabled:0
    role:master
    db0:keys=1341,expires=110


    redis 127.0.0.1:6380> info
    vm_enabled:0
    role:slave
    master_host:192.168.10.1

  • 相关阅读:
    7、shell函数
    5、shell分支
    6、shell循环
    4、shell中的test命令
    3、shell中引号
    2、shell变量
    1、建立和运行shell
    awk命令简介
    18、异步IO
    Python模块:sys
  • 原文地址:https://www.cnblogs.com/linjiqin/p/7017769.html
Copyright © 2011-2022 走看看