news 2026/7/10 13:22:46

实习面试题-Redis 面试题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
实习面试题-Redis 面试题

1.Redis 主从复制的实现原理是什么?

回答重点

Redis 的主从复制,简单来说就是让从节点(Slave)认一个主节点(Master)做大哥,大哥有什么数据,小弟就跟着同步一份。这样既能做读写分离减轻大哥压力,也能在数据丢了时有个备份。

它的实现原理,可以分为三个阶段来讲:

1)第一阶段是:建立连接与全量同步

当从节点第一次连上主节点时,会发送 PSYNC 命令。因为是第一次,主节点会执行一次全量复制。

具体就是主节点会在后台生成一份 RDB 快照文件发给从节点,从节点拿到后先清空自己的旧数据,然后加载这份快照。

💡这里有个细节

在生成和发送快照的这段时间里,主节点是不会停止服务的,它会把这段时间新收到的写命令,先暂存在一个叫Replication Buffer的内存缓冲区里。等快照发完了,再把这个缓冲区里的命令发给从节点,这样就保证了数据不丢失。

2)第二阶段是:命令传播

全量同步完成后,主从之间就会建立一个长连接。以后主节点每收到一个写命令,就会异步地发送给从节点,从节点跟着执行就好了。这期间他们还会互相发心跳包(Ping/Ack)来确认对方还活着。

3)第三阶段是:断线重连与增量同步

网络总是不稳定的,如果从节点掉线了一小会儿又连上了,重新搞一次全量同步太浪费资源了。

所以 Redis 2.8 以后引入了增量同

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/9 13:05:48

APIPark 2.0:构建企业级AI网关生态的终极解决方案

APIPark 2.0:构建企业级AI网关生态的终极解决方案 【免费下载链接】APIPark 🦄云原生、超高性能 AI&API网关,LLM API 管理、分发系统、开放平台,支持所有AI API,不限于OpenAI、Azure、Anthropic Claude、Google Ge…

作者头像 李华
网站建设 2026/7/10 6:25:36

SDD规范驱动开发-与prompt区别-Agent业务场景示例

和prompt区别在于用途: prompt 是“你现在想让我怎么做”,控制的是 输出风格/内容倾向 但是 SDD 是“被允许、被约束、被评估要怎么做”,行为边界/决策空间/成功标准Spec-Driven Development 规格驱动开发 先写“清晰、可执行、可验证的规格&…

作者头像 李华
网站建设 2026/7/10 13:02:26

轻量级C++ OpenAI交互库:5分钟实现AI对话的终极解决方案

轻量级C OpenAI交互库:5分钟实现AI对话的终极解决方案 【免费下载链接】ChatAI-Cpp 基于openai-cpp项目,用于MSVC的仅供与AI聊天的轻量级库(C)。 项目地址: https://gitcode.com/user0x0001/ChatAI-Cpp 还在为C项目集成AI功能而头疼吗&#xff1f…

作者头像 李华
网站建设 2026/7/10 13:17:15

10分钟速成:万能对讲机写频软件完全操作手册

10分钟速成:万能对讲机写频软件完全操作手册 【免费下载链接】杂牌对讲机万能写频软件及驱动程序 本仓库提供了一个名为“杂牌对讲机(万能)写频软件(含驱动程序等)支持宝锋_步迅_超艺等.rar”的资源文件下载。该文件包含了适用于多种杂牌对讲机的万能写频软件及相关…

作者头像 李华
网站建设 2026/7/10 3:46:32

如何彻底解决Kingfisher在macOS Sequoia中的SwiftUI滚动崩溃问题

如何彻底解决Kingfisher在macOS Sequoia中的SwiftUI滚动崩溃问题 【免费下载链接】Kingfisher 一款轻量级的纯Swift库,用于从网络下载并缓存图片。 项目地址: https://gitcode.com/GitHub_Trending/ki/Kingfisher Kingfisher作为一款优秀的Swift图像加载库&a…

作者头像 李华
网站建设 2026/7/9 14:22:57

告别状态管理困境:Riverpod让Flutter开发更轻松

告别状态管理困境:Riverpod让Flutter开发更轻松 【免费下载链接】flutter-examples [Examples] Simple basic isolated apps, for budding flutter devs. 项目地址: https://gitcode.com/gh_mirrors/fl/flutter-examples 还在为Flutter应用中的状态管理而头疼…

作者头像 李华