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

  • 相关阅读:
    基于element-ui图片封装组件
    计算时间间隔具体每一天
    C语言学习笔记 —— 函数作为参数
    AtCoder Beginner Contest 049 题解
    AtCoder Beginner Contest 048 题解
    AtCoder Beginner Contest 047 题解
    AtCoder Beginner Contest 046 题解
    AtCoder Beginner Contest 045 题解
    AtCoder Beginner Contest 044 题解
    AtCoder Beginner Contest 043 题解
  • 原文地址:https://www.cnblogs.com/linjiqin/p/7017769.html
Copyright © 2011-2022 走看看