Redis主从复制入门

主从复制

什么是主从复制

  • 简单来说,是使用两个或两个以上相同的数据库,将一个数据库当做主数据库,而另一个数据库当做从数据库。在主数据库中进行相应操作时,从数据库记录下所有主数据库的操作,使其二者一模一样。

主从复制的作用?

  • 读写分离,master读,slave写,提高服务器的读写负载能力

  • 负载均衡: 基于主从结构,配合读写分离又slave分担master的负载,并根据需求的变化改变slave的数量,通过多个节点分担数据读取的负载,大大提高redis的并发量和吞吐量

  • 故障恢复: 当master出现问题,由slave提供服务

  • 数据冗余: 实现数据的热备份

  • 高可用基石: 基于主从复制,构建哨兵模式与集群,实现redis高可用

主从复制大体可分3个阶段

  • 建立连接

  • 数据同步

  • 命令传播

主从复制的第一种连接方式

  • 启动服务器后通过从服务器的 slaveof ip port 命令连接

  • 1. 启动主服务器

  • 2. 启动从服务器

  • 3. 连接主服务器

  • 4. 连接从服务器

  • 5. 从服务器执行 slaveof ip port 命令

    在这里插入图片描述

主从复制的第二种连接方式

  • 启动服务器时进行连接

  • redis-server conf/redis-6380.conf --slaveof 127.0.0.1 6379

主从复制第三种连接方式(推荐)

  • 1. 修改从服务器配置文件,增加 slaveof ip port 配置

  • 2. 通过配置文件方式启动从服务器

断开主从复制连接

  • 在从服务器执行指令 slaveof no one

在这里插入图片描述

数据同步阶段工作流程

在这里插入图片描述