zoukankan      html  css  js  c++  java
  • redis主从同步

    redis主从同步

    redis主从同步原理

    原理:
    1. 从服务器向主服务器发送 SYNC 命令。
    2. 接到 SYNC 命令的主服务器会调用BGSAVE 命令,创建一个 RDB 文件,并使用缓冲区记录接下来执行的所有写命令。
    3. 当主服务器执行完 BGSAVE 命令时,它会向从服务器发送 RDB 文件,而从服务器则会接收并载入这个文件。
    4. 主服务器将缓冲区储存的所有写命令发送给从服务器执行。
    
    -------------
    1、在开启主从复制的时候,使用的是RDB方式的,同步主从数据的
    2、同步开始之后,通过主库命令传播的方式,主动的复制方式实现
    3、2.8以后实现PSYNC的机制,实现断线重连
    

    2. redis主从同步实验

    2.1 准备三个redis数据库配置文件

    背景: 一主两从

    6380为主,6381和6382 为从

    cd /opt/redis_conf
    vim redis-6380.conf
    写入以下配置
    port 6380
    daemonize yes
    pidfile /data/6380/redis.pid
    loglevel notice
    logfile "/data/6380/redis.log"
    dbfilename dump.rdb
    dir /data/6380
    protected-mode no
    

    再创建两个配置文件6381和6382

    sed "s/6380/6381/g" redis-6380.conf > redis-6381.conf
    sed "s/6380/6382/g" redis-6380.conf > redis-6382.conf
    

    创建数据文件目录

    [root@qishi666 redis_conf]# mkdir -p /data/6380
    [root@qishi666 redis_conf]# mkdir -p /data/6381
    [root@qishi666 redis_conf]# mkdir -p /data/6382
    

    2.2 启动redis数据库

    [root@qishi666 redis_conf]# redis-server redis-6380.conf 
    [root@qishi666 redis_conf]# redis-server redis-6381.conf 
    [root@qishi666 redis_conf]# redis-server redis-6382.conf
    

    2.3 确保这三个redis数据库是完全独立的数据库

    2.4 给两个从服务器配置文件再添加一行配置(很重要)

    在6381和6382配置文件添加这一行配置,表示指定主服务器为6380
    slaveof 127.0.0.1 6380
    

    2.5 重启数据库

    pkill redis
    redis-server /opt/redis_conf/redis-6380.conf
    redis-server /opt/redis_conf/redis-6381.conf
    redis-server /opt/redis_conf/redis-6382.conf
    

    2.6 查看主从数据库状态

    redis-cli -p 6380 info
    redis-cli -p 6380 info replication
    


    2.7 添加数据进行测试

    在从服务器上不可以写入,原因是因为:

    2.8 手动进行主从复制故障切换

    2.8.1 关闭6381的从库身份
    redis-cli -p 6381
    info replication
    slaveof no one
    
    2.8.2 将6382设为6381的从库
    6382连接到6381:
    [root@db03 ~]# redis-cli -p 6382
    127.0.0.1:6382> SLAVEOF no one
    127.0.0.1:6382> SLAVEOF 127.0.0.1 6381
    

    -------------------------------------------

    个性签名:代码过万,键盘敲烂!!!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    How to install VXDIAG Honda, Toyota and JLR SDD software
    16% off MPPS V16 ECU tuning tool for EDC15 EDC16 EDC17
    Cummins INSITE locked and ask for verification code
    How to use BMW Multi Tool 7.3 to replace lost key for BMW X1
    Bleed Brake Master Cylinder with Intelligent Tester IT2
    Porsche Piwis Tester II “No VCI has been detected”,how to do?
    Creader VIII VS. Creader VII+
    How to solve GM MDI cannot complete the installation
    汽车OBD2诊断程序开发 (原文转载,思路很清晰!)
    汽车节温器单片机开发思路
  • 原文地址:https://www.cnblogs.com/weiweivip666/p/13917193.html
Copyright © 2011-2022 走看看