zoukankan      html  css  js  c++  java
  • redis3.0 主从

    redis3.0 主从

    两个实例:6000为主,6001为从。
    主实例配置如下:
    # replication
    repl-diskless-sync no
    repl-ping-slave-period 10
    repl-timeout 60
    repl-backlog-size 100mb
    repl-backlog-ttl 3600
    # 参数解释
    repl-diskless-sync: 主从同步数据的方式,no表示使用磁盘(先生成rdb文件然后同步到salve进行加载),ye表示使用网络的方式无需磁盘参与,适合网络质量好磁盘读写慢的环境。
    repl-timeout: 主从关系存活的超时时间,必须必repl-ping-slave-period大,否则没来得及做存活检查就超时了。
    repl-ping-slave-period:master向slave发送存活检查ping的时间间隔。
    
    从实例配置如下:
    # replication
    slave-read-only yes
    slaveof 127.0.0.1 6000
    masterauth 8a6715
    
    主从配置完后,从库只能读无法响应写入的请求:
    127.0.0.1:6001> set key2 value2 
    (error) READONLY You can't write against a read only slave.
    

    手动主从切机

    在主宕机时,需要先手动关闭主库,再在从机上关闭主从关系,从库便可写入
    127.0.0.1:6001> slaveof NO ONE
    OK
    127.0.0.1:6001> set key100 value100
    OK
    127.0.0.1:6001> get key100
    "value100"
    127.0.0.1:6001> 
    
    假设原先的主库ok了,需要切回去。
    将从库的数据save为 *.rbd 文件,拷贝到主库的数据目录中覆盖原有的,并启动主库
        127.0.0.1:6001> save
        OK
        127.0.0.1:6001> quit
        [root@baseos-1_192.168.31.140 ~]# cp /data/database/redis/redis6001.rdb  /data/database/redis/redis6000.rdb 
        cp: overwrite `/data/database/redis/redis6000.rdb'? y
        [root@baseos-1_192.168.31.140 ~]# /root/redis6000.start
        [2017-06-16 11:06:40] Redis-3.2.7 start ok, port: 6000.
        [root@baseos-1_192.168.31.140 ~]#./redis6000.login  
        127.0.0.1:6000> keys *
        1) "key_6000_new"
        2) "key_6001"
        3) "key100"
        4) "key_6000"
        5) "key_1"
        127.0.0.1:6000> 
    
    从库重新做主从
    [root@baseos-1_192.168.31.140 ~]# ./redis6001.login 
    127.0.0.1:6001> slaveof 127.0.0.1 6000
    OK
    127.0.0.1:6001> set aa bb
    (error) READONLY You can't write against a read only slave.
    127.0.0.1:6001> quit
    [root@baseos-1_192.168.31.140 ~]# ./redis6000.login  
    127.0.0.1:6000> keys *
    1) "key_6000_new"
    2) "key_6001"
    3) "key100"
    4) "key_6000"
    5) "key_1"
    127.0.0.1:6000> set new_key new_value
    OK
    127.0.0.1:6000> quit
    [root@baseos-1_192.168.31.140 ~]# ./redis6001.login 
    127.0.0.1:6001> get new_key
    "new_value"
    127.0.0.1:6001>
  • 相关阅读:
    随手乱记
    对拍程序
    生命游戏
    Command Operating System by cdsidi(ComSys) 0.2.x版本陆续更新
    C语言<stdio.h>的rename函数——重命名文件、更改文件路径或更改目录名
    C++ 类中的static 成员函数
    Command Operating System by cdsidi(ComSys) 0.1.x版本陆续更新
    Command Operating System by cdsidi (ComSys)首次发布(版本0.1.2)
    区间dp之 "石子合并"系列(未完结)
    C/C++快读(快速读入)有多——安全AC
  • 原文地址:https://www.cnblogs.com/wshenjin/p/7027525.html
Copyright © 2011-2022 走看看