Redis 中的 复制(主从复制)

第18章 复制

        复制功能是Redis提供的多机功能中最基础的一个,这个功能是通过主从复制(master-slave replication)模式实现的,它允许用户为存储着目标数据库的服务器创建出多个拥有相同数据库副本的服务器,其中存储 目标数据库的服务器被称为主服务器(master server),而存储数据库 副本的服务器则被称为从服务器(slave server,或者称为replica),如图18-1所示。

        对于Redis来说,一个主服务器可以拥有任意多个从服务器,而从服务 器本身也可以用作其他服务器的主服务器,并以此构建出一个树状的服 务器结构,如图18-2所示。需要注意的是,虽然一个主服务器可以拥有 多个从服务器,但一个从服务器只能拥有一个主服务器。换句话说, Redis提供的是单主复制功能,而不是多主复制功能。

在这里插入图片描述
在这里插入图片描述

        在默认情况下,处于复制模式的主服务器既可以执行写操作也可以执行 读操作,而从服务器则只能执行读操作,图18-3和图18-4分别展示了 Redis服务器在无复制和有复制两种状态下的客户端访问模式。

在这里插入图片描述

在这里插入图片描述

        对于开启了复制功能的主从服务器,主服务器在每次执行写操作之后, 都会与所有从服务器进行数据同步,以此来将写操作产生的改动反映到 各个从服务器之上。举个例子,在主服务器执行了客户端发来的写命令W之后,主服务器会将相同的写命令W发送至所有从服务器执行,以此 来保持主从服务器之间的数据一致性,如图18-5所示。

在这里插入图片描述

        Redis的复制功能可以从性能、安全性和可用性3个方面提升整个Redis系统:

        ·首先,在性能方面,Redis的复制功能可以给系统的读性能带来线性级 别的提升。从理论上来说,用户每增加一倍数量的从服务器,整个系统的读性能就会提升一倍。

        ·其次,通过增加从服务器的数量,用户可以降低系统在遭遇灾难故障 时丢失数据的可能性。具体来说,如果用户只有一台服务器存储着目标 数据库,那么当这个服务器遭遇灾难故障时,目标数据库很有可能会随着服务器故障而丢失。但如果用户为Redis服务器(即主服务器)设置 了从服务器,那么即使主服务器遭遇灾难故障,用户也可以通过从服务 器访问数据库。从服务器的数量越多,因为主服务器遭遇灾难故障而出 现数据库丢失的可能性就越低。

        ·最后,通过同时使用Redis的复制功能和Sentinel功能,用户可以为整个 Redis系统提供高可用特性。具有这一特性的Redis系统在主服务器停机 时,将会自动挑选一个从服务器作为新的主服务器,以此来继续为客户 提供服务,避免造成整个系统停机。

        在本章接下来的内容中,我们将会学到:

        ·如何为主服务器创建从服务器,从而开启Redis的主从复制功能。

        ·如何查看服务器在复制中充当的角色以及相关数据。

        ·Redis复制功能的实现原理。

        ·如何在主服务器不创建RDB文件的情况下实现数据同步。

        ·如何通过复制功能提升不同类型Redis命令的执行效率。

        在本章的最后,我们还会看到Redis服务器通过复制传播Lua脚本的方 法,至于Sentinel相关的内容将在第19章再行介绍。


Redis 中的 复制(主从复制) REPLICAOF:将服务器设置为从服务器 通过配置选项设置从服务器 取消复制(18.1 REPLICAOF:将服务器设置为从服务器 复制命令的命名变化 18.1.1 通过配置选项设置从服务器 18.1.2 取消复制 18.1.3 其他信息)

Redis 中的 复制(主从复制) ROLE:查看服务器的角色 主服务器执行ROLE命令 从服务器执行ROLE命令(18.2 ROLE:查看服务器的角色 18.2.1 主服务器执行ROLE命令 18.2.2 从服务器执行ROLE命令 18.2.3 其他信息)

Redis 中的 复制(主从复制) 数据同步 完整同步 在线更新 部分同步(18.3 数据同步 18.3.1 完整同步 在进行数据同步时重用RDB文件 18.3.2 在线更新 异步更新引起的数据不一致 18.3.3 部分同步)

Redis 中的 复制(主从复制) 无须硬盘的复制(18.4 无须硬盘的复制)

Redis 中的 复制(主从复制) 降低数据不一致情况出现的概率(18.5 降低数据不一致情况出现的概率)

Redis 中的 复制(主从复制) 可写的从服务器 使用可写从服务器的注意事项(18.6 可写的从服务器 使用可写从服务器的注意事项)

参考目录

绝大多数 内容来自 Redis使用手册 (黄健宏 著) 第18章 复制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值