• Redis主从架构


    Redis 支持简单并且易操作的主从复制功能,可以把从库看作是主库的镜像,数据同步基于秒级的同步
    一个主服务器可以有多个从服务器,同时不仅Master可以有从库,从服务器也可以有自己的从库

    在主从复制过程中,对于Master和Slave来讲都不会被阻塞。首先Master同步到一个或者多个Slave的时候,Master也可以正常的处理请求。Slave在同步的过程中,也可以先使用旧的同步数据,完成读请求。在同步新数据进行替换的瞬间是会有连接被阻塞的数据。

    在从库配置完成启动之后,不管是第一次同步还是重新同步,Slave都会发送一个sync的命令给Master。Master接受到请求之后执行 bgsave 的操作。保存一个rdb文件。

    在保存期间,所有的数据修改操作,master都会保存在一个缓冲区内。

    首先不论一个或者多个Slave来请求,Master都可以使用这个rdb文件发送给Slave,Slave接受到rdb文件之后,将文件内的数据加载到内存中。

    完成之后,Master会把缓冲区的写入操作通过 Redis 命令协议的方式,全部发送个Slave,这样的话,Slave就可以拥有一份和Master一样的数据。

    主从配置与实战

    直接在Slave服务器 Redis 配置文件里面添加 slaveof 192.168.1.1 6379 内容,指定同步那个服务器内容,重启生效(推荐),或者直接在客户端交互模式输入 slaveof 192.168.1.1 6379 命令,重启失效。

    127.0.0.1:6379> slaveof 192.168.1.1 6379
    OK
    127.0.0.1:6379> info Replication
    # Replication
    role:slave                 ## 当前角色
    master_host:192.168.1.1       ## Master地址
    master_port:6379                  ## Master端口
    master_link_status:up           ## 同步状态
    master_last_io_seconds_ago:3    ## 同步时间差
    master_sync_in_progress:0
    slave_repl_offset:57
    slave_priority:100
    slave_read_only:1
    connected_slaves:0
    master_repl_offset:0
    repl_backlog_active:0
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:0
    repl_backlog_histlen:0
  • 相关阅读:
    安装minikube
    【知识总结】预训练语言模型BERT的发展由来
    【爬虫】批量下载极客时间课程
    【Python】中国有哪些同名的省市县?
    【笔记】Java函数式编程
    【linux】没有root权限如何通过apt安装软件
    Flink命令行提交job
    MybatisPlus QueryWrapper
    MybatisPlus逻辑删除
    MybatisPlus分页操作
  • 原文地址:https://www.cnblogs.com/songguoyou/p/11884184.html
Copyright © 2020-2023  润新知