什么是 Redis 主从同步

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: Redis 主从同步是一种用于数据备份和高可用性的机制,它通过将一个 Redis 实例(主节点)的数据复制到其他 Redis 实例(从节点)来实现。在主从同步中,主节点负责处理客户端的写操作,而从节点则负责接收主节点发送的数据更新,并将其应用到自己的数据集中。

Redis 主从同步是一种用于数据备份和高可用性的机制,它通过将一个 Redis 实例(主节点)的数据复制到其他 Redis 实例(从节点)来实现。在主从同步中,主节点负责处理客户端的写操作,而从节点则负责接收主节点发送的数据更新,并将其应用到自己的数据集中。

主从同步可分为全量同步和增量同步两个阶段。

全量同步 全量同步是在从节点刚刚连接到主节点时进行的一次完整的数据同步过程。当从节点与主节点建立连接后,它会向主节点发送 SYNC 命令,请求进行全量同步。主节点在接收到 SYNC 命令后,开始将自己的整个数据集发送给从节点。

主节点在执行全量同步时,会创建一个 RDB 快照文件,并将该文件通过网络传输给从节点。RDB 快照文件是一个二进制文件,包含了主节点当前的数据集的快照。从节点在接收到 RDB 文件后,会将其加载到自己的内存中,完成数据的全量同步。

全量同步的优点在于能够确保从节点与主节点完全一致的数据集。然而,由于全量同步需要传输整个数据集,对于大规模的数据库来说,可能会占用较长时间和网络带宽。

增量同步 增量同步是在全量同步完成后,从节点与主节点之间进行的持续数据同步过程。在增量同步期间,主节点将自己的写操作追加到一个称为复制积压缓冲区(replication backlog buffer)的缓冲区中。从节点定期向主节点发送 PSYNC 命令,并携带上一次同步时的复制偏移量,请求进行增量同步。

主节点在接收到 PSYNC 命令后,会检查从节点的复制偏移量,并将从该偏移量开始的新写操作发送给从节点。从节点接收到新的写操作后,会将其应用到自己的数据集中。

增量同步的优点在于它是增量的,只传输新增的写操作,而不需要传输整个数据集。这样可以大幅减少网络带宽的使用,并且能够实时保持主节点和从节点之间的数据一致性。

总结起来,Redis 主从同步通过全量同步和增量同步两个阶段,将主节点的数据复制到从节点,实现数据的备份和高可用性。全量同步确保了从节点与主节点拥有相同的数据集,而增量同步则实现了实时的数据更新。通过主从同步机制,即使主节点发生故障,也能够快速切换到从节点,确保系统的持续可用性。同时,主从同步还提供了横向扩展的能力,通过添加更多的从节点,可以提升系统的读取性能和并发处理能力。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
canal 缓存 NoSQL
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
|
4月前
|
存储 缓存 NoSQL
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
redis分布式锁、redisson、可重入、主从一致性、WatchDog、Redlock红锁、zookeeper;Redis集群、主从复制,全量同步、增量同步;哨兵,分片集群,Redis为什么这么快,I/O多路复用模型——用户空间和内核空间、阻塞IO、非阻塞IO、IO多路复用,Redis网络模型
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
|
5月前
|
缓存 运维 NoSQL
Redis主从模式部署
Redis主从模式部署
65 4
|
5月前
|
缓存 NoSQL Redis
Redis主从架构
当看到图示中红色标记的,就代表从节点挂载成功了。
38 0
|
2月前
|
NoSQL 安全 容灾
阿里云DTS踩坑经验分享系列|Redis迁移、同步
阿里云数据传输服务DTS在帮助用户迁移Redis数据、同步数据时,在某些复杂场景下会出现报错,或者源库与目标库数据不一致的问题,给用户带来困扰。本文介绍了DTS Redis到Redis迁移、同步过程中的典型问题,以帮助用户更好地使用DTS。
198 2
|
5月前
|
NoSQL Java 关系型数据库
考考你Redis主从,就知道有没深入Redis
大家好,我是南哥。一个对Java程序员进阶成长颇有研究的人,今天继续给大家带来新的一篇Java进阶指南。如果是单机版的数据库,像MySQL、Redis,看起来实现并不复杂。只要支持保存一条数据,同时要能够查询出来。但如果是多机版的数据库呢,各个节点的配合联调是比较复杂的过程,看起来就不是那么简单喽。要考你对Redis深不深入理解,问问Redis多机版相关的问题就知道了。我们今天就来指南下Redis主从架构。
考考你Redis主从,就知道有没深入Redis
|
4月前
|
监控 NoSQL Ubuntu
|
5月前
|
消息中间件 NoSQL Linux
详解Redis的主从同步原理
只不过在主节点中叫做master_repl_offset; 从节点也有一个偏移量叫做slave_repl_offset,用来记录从节点已经从主节点的repl_backlog_buffer中同步到的最新写指令的位置;
1193 2
|
4月前
|
安全 NoSQL Java
网络安全-----Redis12的Java客户端----客户端对比12,Jedis介绍,使用简单安全性不足,lettuce(官方默认)是基于Netty,支持同步,异步和响应式,并且线程是安全的,支持R
网络安全-----Redis12的Java客户端----客户端对比12,Jedis介绍,使用简单安全性不足,lettuce(官方默认)是基于Netty,支持同步,异步和响应式,并且线程是安全的,支持R
|
6月前
|
存储 缓存 NoSQL
Redis与数据库同步指南:订阅Binlog实现数据一致性
本文由开发者小米分享,探讨分布式系统中的一致性问题,尤其是数据库和Redis一致性。文章介绍了全量缓存策略的优势,如高效读取和稳定性,但也指出其一致性挑战。为解决此问题,提出了通过订阅数据库的Binlog实现数据同步的方法,详细解释了工作原理和步骤,并分析了优缺点。此外,还提到了异步校准方案作为补充,以进一步保证数据一致性。最后,提醒在实际线上环境中需注意日志记录、逐步优化和监控报警。
345 3