• Redis主从复制


    概述

      1、redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。

      2、通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力。主数据库主要进行写操作,而从数据库负责读操作。

        

     

      过程:

          1:当一个从数据库启动时,会向主数据库发送sync命令,

          2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来

          3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。

          4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。

    修改配置文件

      1.配从(库)不配主(库)

      2.从库配置:slaveof 主库IP 主库端口

      3.修改配置文件细节操作

        拷贝多个redis.conf文件

        开启daemonize yes

        Pid文件名字

        指定端口

        Log文件名字

        Dump.rdb名字

      可以使用 [salveof 127.0.0.1 对应的主机端口号]  命令连接

      

       

       

    原理

      Slave启动成功连接到master后会发送一个sync命令

      Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步

      全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。

      增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步,但是只要是重新连接master,一次完全同步(全量复制)将被自动执行

  • 相关阅读:
    MaskRCNN模型解读
    Centos7下WebLogic安装部署
    CentOS 7 安装 JAVA环境(JDK 1.8)
    Linux下如何查看tomcat是否安装、启动、文件路径、进程ID
    Nacos enable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
    多线程系列(三)之线程池
    多线程系列(二)之Thread类
    多线程系列(一)之多线程基础
    Vue2/Vue3 自定义组件库
    EF Core使用单独的项目管理迁移
  • 原文地址:https://www.cnblogs.com/wnwn/p/12123162.html
Copyright © 2020-2023  润新知