我的Redis笔记2【分布式缓存】

我的Redis笔记2【分布式缓存】

1、单节点Redis的一些问题

  • 【数据丢失问题】Redis是内存存储,服务重启可能会丢失数据 实现Redis数据持久化
  • 【并发能力问题】单节点Redis并发能力不错,但也无法满足如618这样的高并发场景 搭建主从集群,实现读写分离
  • 【存储能力问题】Redis基于内存,单节点能存储的数据量难以满足海量数据需求 搭建分片集群,利用插槽机制实现动态扩容
  • 【故障恢复问题】如果Redis宕机,则服务不可用,需要一种自动故障恢复手段 利用Redis哨兵,实现健康检测和自动恢复

2、Redis持久化

2.1 RDB持久化

  • RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照
  • 简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。
  • 快照文件称为RDB文件,默认是保存在当前运行目录。


单机和集群搭建Redis文档(来源:黑马程序员)



  • 操作系统中的 fork () 函数:创建一个新的进程(子进程),子进程是父进程的 "副本",和父进程独立运行。
  • 版本控制系统(Git/GitHub)中的 Fork:复制别人的代码仓库到自己的账号下(相当于 "抄一份到自己家"),可独立修改,不影响原仓库。
  • bgsave开始时会fork主进程得到子进程,子进程共享主进程的内存数据。完成fork后读取内存数据并写入 RDB 文件。

📕fork采用的是copy-on-write技术:

🖊当主进程执行读操作时,访问共享内存;

🖊当主进程执行写操作时,则会拷贝一份数据,执行写操作。

2.2 AOF持久化

  • AOF全称为Append Only File(追加文件)。Redis处理的每一个写命令都会记录在AOF文件






  • 因为是记录命令,AOF文件会比RDB文件大的多。而且AOF会记录对同一个key的多次写操作,但只有最后一次写操作才有意义。通过执行bgrewriteaof命令,可以让AOF文件执行重写功能,用最少的命令达到相同效果。

2.3 RDB和AOF对比

3、Redis主从

  • 主节点master只专注写操作,从节点replica只负责读操作
  • replica要从master同步数据

搭建主从集群笔记

3.1 全量同步原理


❓ master如何判断slave是不是第一次来同步数据?这里会用到两个很重要的概念:

🖊Replication Id:简称replid,是数据集的标记,id一致则说明是同一数据集。每一个master都有唯一的replid(从节点在成为从节点之前默认也是主节点,也有replid),slave则会继承master节点的replid

🖊offset:偏移量,随着记录在repl_baklog中的数据增多而逐渐增大。slave完成同步时也会记录当前同步的offset。如果slave的offset小于master的offset,说明slave数据落后于master,需要更新。

🖊因此slave做数据同步,必须向master声明自己的replication id 和offset,master才可以判断到底需要同步哪些数据(replication id不一样👉全量同步;replication id一样👉增量同步)

3.2 增量同步


相关推荐
三84412 小时前
redis防御加固与安全基线
数据库·redis·安全·应急响应·防御
SendTomo12 小时前
【技术交流】从0到1构建一个汉字学习平台:汉字吧(hanzi8.com)的技术架构猜想
redis·mysql·nginx·php·个人开发
一米阳光866112 小时前
软考高级【信息系统项目管理师】高项重要考点(3)高级项目管理-下 助你顺利上岸!
笔记·职场发展·软考·信息系统项目管理师·高级职称
dianziyao_13 小时前
第 4.1 篇:让 Codex 理解你的双链——AI 辅助发现笔记间的关联
人工智能·笔记
xian_wwq16 小时前
【学习笔记】OWASP Agentic 应用安全(二)
笔记·学习·安全·owasp
小刘在重生~16 小时前
Java 常用类|包装类 装箱拆箱、Integer 缓存面试题
java·python·缓存
右耳朵猫AI17 小时前
Go周刊2026W36 | Go 1.27.1 发布、TinyGo 0.42、HTTP/2 原生迁入 net/http、quic-go 0.62
redis·http·golang
沪上企服通18 小时前
代账数据的可移植性设计:开放接口、账套导出与 exit strategy 工程笔记(上海 5 家样本对照)
笔记·策略模式
江湖人称菠萝包19 小时前
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter8-子窗口控件
windows·笔记
M78佐菲19 小时前
HTML学习笔记
linux·笔记·学习·tcp/ip·html