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文件,

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


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...