Felix's BlogFelix's Blog
  • 首页
  • 提示
  • 集群通用环境整理
  • DEVOPS 通用整理
  • 计算机网络
  • 计算机基础
  • Java
  • 数据库
  • 消息中间件
  • Spring
  • 常用框架
  • 分布式
  • 其他
  • Java
  • 集合
  • JVM
  • 并发
  • 亿级流量 Java 高并发与网络编程实战
  • Spring 系列
    • Spring Framework
    • Spring Boot
    • Spring Cloud
  • 大数据
    • 大数据概述
  • 分布式
    • Zookeeper
  • 关系型数据库
    • MySQL
  • 缓存中间件
    • Redis
  • 搜索引擎
    • Elasticsearch
  • 大数据
    • HugeGraph
    • ClickHouse
  • 消息中间件
    • Kafka
    • RabbitMQ
    • ActiveMQ
    • Nats
  • 容器中间件
    • Nginx
  • UML
  • 数据结构
  • 算法
  • 方法论
  • 设计模式
  • 其他
    • IT 软件
    • 开发、部署工具
    • 开发脚手架
    • 测试
    • 我的菜谱
  • 前端
    • 概述
    • 开发环境安装
    • Web 基础
    • Web 框架
    • Vue
    • 博客脚手架
    • Unity
    • uni-app
Series
1 RedisRedis 安装(常规)Redis RPM 制作Redis 安装(RPM 自给自足安装)
第一部分 数据结构与对象
  • 2 简单动态字符串
  • 3 链表
  • 4 字典
  • 5 跳跃表
  • 6 整数集合
  • 7 压缩列表
  • 8 对象
第二部分 单机数据库的实现
  • 9 数据库
  • 10 RDB 持久化
  • 11 AOF 持久化
  • 12 事件
  • 13 客户端
  • 14 服务器
第三部分 多机数据库的实现
  • 15 复制
  • 16 sential
  • 17 集群
第四部分 独立功能的实现
  • 18 发布和订阅
  • 19 事务
  • 20 LUA 脚本
  • 21 排序
  • 22 二进制位数组
  • 23 慢查询日志
  • 24 监视器

15 复制

felix.shao2025-02-18

15 复制

  • 概述
  • 旧版复制功能的实现
    • 同步
    • 命令传播
  • 旧版复制功能的缺陷
  • 新版复制功能的实现
  • 部分重同步的实现
    • 复制偏移量
    • 复制积压缓冲区
    • 服务器运行 ID
  • PSYNC 命令的实现
  • 复制的实现
    • 步骤 1:设置主服务器的地址和端口
    • 步骤 2:建立套接字连接
    • 步骤 3:发送 PING 命令
    • 步骤 4:身份验证
    • 步骤 5:发送端口信息
    • 步骤 6:同步
    • 步骤 7:命令传播
  • 心跳检测
    • 检测主从服务器的网络连接状态
    • 辅助实现 min-slaves 配置选项
    • 检测命令丢失
  • 参考文献

概述

 详细内容略,可参考目录结构理解内容。

旧版复制功能的实现

同步

命令传播

旧版复制功能的缺陷

新版复制功能的实现

部分重同步的实现

复制偏移量

复制积压缓冲区

服务器运行 ID

PSYNC 命令的实现

复制的实现

步骤 1:设置主服务器的地址和端口

步骤 2:建立套接字连接

步骤 3:发送 PING 命令

步骤 4:身份验证

步骤 5:发送端口信息

步骤 6:同步

步骤 7:命令传播

心跳检测

检测主从服务器的网络连接状态

辅助实现 min-slaves 配置选项

检测命令丢失

参考文献

  • Redis 设计与实现-第 2 版open in new window
Last Updated 2/18/2025, 5:05:12 PM

16 sential →

ON THIS PAGE
  • 概述
  • 旧版复制功能的实现
  • 同步
  • 命令传播
  • 旧版复制功能的缺陷
  • 新版复制功能的实现
  • 部分重同步的实现
  • 复制偏移量
  • 复制积压缓冲区
  • 服务器运行 ID
  • PSYNC 命令的实现
  • 复制的实现
  • 步骤 1:设置主服务器的地址和端口
  • 步骤 2:建立套接字连接
  • 步骤 3:发送 PING 命令
  • 步骤 4:身份验证
  • 步骤 5:发送端口信息
  • 步骤 6:同步
  • 步骤 7:命令传播
  • 心跳检测
  • 检测主从服务器的网络连接状态
  • 辅助实现 min-slaves 配置选项
  • 检测命令丢失
  • 参考文献