avatar

技术小站

老骥伏枥,日行千里

  • 首页
  • Java
  • Web
  • 框架
  • 微服务
  • 架构
  • 数据库
  • 中间件
  • 研发
  • 关于
Home redis 主从同步原理
文章

redis 主从同步原理

Posted 2023-04-23 Updated 2023-04- 23
By 管理员
2~3 min read

Redis是一种内存中的数据结构存储系统,它支持主从同步。主从同步是指主节点将数据复制到从节点,以便实现数据冗余、提高系统可用性和性能。下面是Redis主从同步的原理。

当从节点与主节点建立起主从关系后,从节点向主节点发送SYNC命令请求进行主从同步。主节点收到SYNC命令后,执行fork创建一个子进程,子进程中执行bgsave命令,将当前内存中的数据快照写入磁盘中,生成一个RDB文件,并将RDB文件发送给从节点。从节点接收到RDB文件后,将其载入内存中,并通过主节点记录的复制偏移量,向主节点发送PSYNC命令请求增量同步。主节点收到PSYNC命令后,将从上次同步后的所有命令传输给从节点,从而实现增量同步。如果主节点的数据发生变化,主节点将命令发送给所有从节点进行同步。

总的来说,Redis主从同步采用异步方式进行数据复制,实现了最终一致性。当出现网络分区时,可能会影响数据一致性和可用性,因为Redis采用的是CAP原理,一致性和可用性是两难全的[[1](//zhuanlan.zhihu.com/p/151740247)]。

需要注意的是,主节点的复制偏移量是用于记录主从同步的进度,如果从节点重新连接到主节点时,如果能够提供正确的复制偏移量,那么主节点只会将从该偏移量之后的数据传输给从节点,从而节省网络带宽[[6](//cloud.tencent.com/developer/article/2063597)]。

综上所述,Redis主从同步是通过主节点将数据快照和增量命令发送给从节点,实现最终一致性的数据复制机制。主从同步可以提高Redis系统的可用性和性能,但需要注意网络分区的影响和正确的复制偏移量的维护。

【参考文献】

[1] https//zhuanlan.zhihu.com/p/151740247

[2] https//juejin.cn/post/7070458131431555108

[3] https//segmentfault.com/a/1190000039242024

[4] https//ost.51cto.com/posts/11521

[5] https//developer.baidu.com/article/detail.html?id=294748

[6] https//cloud.tencent.com/developer/article/2063597

数据库
数据库
License:  CC BY 4.0
Share

Further Reading

Aug 6, 2024

Navicat Premium v16、v17 破解激活

1. 前言 点击下载软件包(百度云网盘) 本文适用于 Windows 版本的 Navicat Premium v16、v17 **你可以在 **Navicat Premium 中文网 下载正版软件,也可以直接使用百度云网盘中的 Navicat Premium Navicat Premium 从 v1

Aug 17, 2023

MySQL8.0中的my.ini配置文件

[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=H:/mysql/mysql-8.0.19-winx64/ # 设置mysql数据库的数据的存放目录 datadir=H:/mysql/mysql-8.0.19-winx64/data/ # 允

Apr 23, 2023

Redis集群为什么使用16384个哈希槽

Redis是一个流行的开源内存数据库,它使用哈希表来存储键值对。Redis Cluster是Redis的分布式解决方案之一,它将数据分布到多个节点上以提高可用性和性能。以下是关于Redis Cluster中哈希槽(hash slot)数量为16384的信息: Redis Cluster将整个键空间划

OLDER

IDEA启动时报端口被占用错误

NEWER

Redis集群为什么使用16384个哈希槽

Recently Updated

  • 【Windows】ApifoxAppAgent开机启动项删除
  • Proxy AI 配置第三方AI模型
  • Windows11 莫名端口占用,而又找不到占用应用的奇怪问题
  • Crack Sublime Text 4.2.0.0 Build 4200
  • 当 SSH 登录 CentOS 7 系统时认证缓慢的解决方案

Trending Tags

Halo 研发 工具 Linux 数据库 Java AI 象棋 Web Docker

Contents

©2025 技术小站. Some rights reserved.

Using the Halo theme Chirpy