• 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>
  • 相关阅读:
    P85 实战练习
    Java语句及控制台输入
    P62 实战练习
    运算符、数据类型转换和注释
    Java变量与常量
    Java语法初步实际应用
    JQ 练习题
    JQ 特效下拉列表 写出与css一样的效果
    JQ 全选设定与设置选中
    JQ JSON数据类型
  • 原文地址:https://www.cnblogs.com/wshenjin/p/7027525.html
Copyright © 2020-2023  润新知