Redis主从同步原理解析(实验)
admin
2023-05-21 07:42:32
0

redis主从同步原理

        在主从数据同步过程中,

        master只在第一次同步时创建了RDB文件,用此做基础进行同步。

        之后的同步,都是通过增量传输命令的方式(AOF)进行同步。


环境描述:

    master:192.168.2.100    不开启RDB和AOF

    slave:192.168.2.200    开启RDB和AOF


配置信息:

  master:

      # vim etc/redis.conf

       #save 600 5           //禁用RDB

       appendonly no       //禁用AOF

       requirepass 123456        //指定验证密码

 slave:

      # vim etc/redis.conf

        save 600 5           //禁用RDB

        appendonly yes      //禁用AOF

        appendfilename "appendonly.aof"        //指定AOF文件

        appendfsync everysec                //每秒强制写入磁盘一次

        no-appendfsync-on-rewrite no        //在日志重写时,不进行命令追加操作

        auto-aof-rewrite-percentage 100            //当前AOF超过上一次AOF大小100%时重写

        auto-aof-rewrite-min-size 64mb           //日志重写最小值

        slaveof 192.168.2.100 6379          //指定主库IP和端口

        masterauth 123456          //指定主库登录密码


启动redis:

    master:# redis-server etc/redis.conf

    slave:# redis-server etc/redis.conf


观察同步过程

    master:

      # redis-cli -a 123456

        127.0.0.1:6379> info replication         //查看主从关系是否正确

        127.0.0.1:6379> keys *               //此时,master安装目录下是没有RDB文件的

        (empty list or set)

        127.0.0.1:6379> set name zhagnsan       //创建key

        OK

      # ll /usr/local/redis-3.0.6-6379           //目录下生成一个RDB文件,用作和slave同步的基础

        -rw-r--r--  1 root root    35 5月  20 21:59 dump_6379.rdb

    slave:

      # redis-cli 

        127.0.0.1:6379> info replication         //查看主从关系是否正确

        127.0.0.1:6379> keys *            //数据已同步

        1) "name"

        127.0.0.1:6379> get name

        "zhagnsan"

      # ll /usr/local/redis-3.0.6-6379         //目录下生成RDB文件和AOF文件

        -rw-r--r--  1 root root    60 5月  20 21:59 appendonly.aof

        -rw-r--r--  1 root root    18 5月  20 21:58 dump.rdb


    master:

      # redis-cli -a 123456

        127.0.0.1:6379> set age 26               //新增2个key

        OK

        127.0.0.1:6379> set home beijing

        OK

      # ll /usr/local/redis-3.0.6-6379           //RDB文件大小没变化

        -rw-r--r--  1 root root    35 5月  20 21:59 dump_6379.rdb

    slave:

      # redis-cli

        127.0.0.1:6379> keys *            //数据已同步

        1) "age"

        2) "name"

        3) "home"

      # ll /usr/local/redis-3.0.6-6379         //发现:RDB文件大小不变,变化的只是AOF

        -rw-r--r--  1 root root   126 5月  20 22:00 appendonly.aof

        -rw-r--r--  1 root root    18 5月  20 21:58 dump.rdb

            

总结:在数据同步过程中,master只在第一次同步时创建了RDB文件,

      之后的同步,都是通过增量传输命令的方式进行同步。


相关内容

热门资讯

小米澎程72小时一线预售快报出... 来源:CNMO科技 【CNMO科技消息】8月3日,CNMO科技注意到,车fans创始人@孙少军发布了...
海评面:“中国商业航天正以惊人... 7月22日,引力一号遥四运载火箭在上海东部海域点火升空。(图/新华社) “中国商业航天领域正以惊人的...
第三届雷达学术前沿大会在长沙举... 中新网长沙8月2日电(王曼)8月2日,第三届雷达学术前沿大会在长沙启幕,雷达及相关领域8位院士,12...
埃及、卡塔尔和土耳其发表联合声... △加沙地带(资料图)当地时间3日,埃及、卡塔尔和土耳其三国发表联合声明,强烈谴责以色列在加沙地带持续...
鹤壁市汽车电子电气行业技术宣讲... 为助推我市汽车电子电器产业智能化、数字化和绿色化转型升级。7月30日,由市工商联、市汽车电子电器商会...
原创 i... 新一代系统陆续推出,多方面进行升级,尤其是UI设计、AI智能体、流畅度等方面,助力新一代旗舰机全面发...
国产最强AI再次选择开源!阿里... IT之家 8 月 3 日消息,阿里巴巴千问 Qwen3.8-Max 人工智能模型今日(8 月 3 日...
特朗普:在伊朗战争期间,石油公... 美国有线电视新闻网(CNN)8月3日报道,特朗普周一表示,由于与伊朗战争相关的油价飙升,雪佛龙和埃克...
特朗普:与伊朗的谈判将分两阶段... △当地时间8月3日,美国总统特朗普在白宫回答记者提问。当地时间8月3日,美国总统特朗普在白宫回答记者...
汇艺银河里首届微醺节圆满收官 ... 多元业态协同联动,探索郑东商圈夜间消费新场景首届汇艺银河里微醺节圆满收官。活动立足郑州高铁东站商圈核...