zoukankan      html  css  js  c++  java
  • 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,一次完全同步(全量复制)将被自动执行

  • 相关阅读:
    sql server中count(*),count(col),count(1)的区别
    oracle 存储过程(1)
    Java线程:概念及原理
    H2 应用实例2
    H2 应用实例1
    H2 database 应用
    H2 database 操作操作内存表
    JDK 环境变量配置
    MySQL CREATE TRIGGER (1)
    MySQL 事务1
  • 原文地址:https://www.cnblogs.com/wnwn/p/12123162.html
Copyright © 2011-2022 走看看