news 2026/6/9 17:48:37

实习面试题-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/6/10 8:52:38

ZeroTierOne游戏联机加速:如何解决NAT穿透实现低延迟P2P连接

【免费下载链接】ZeroTierOne A Smart Ethernet Switch for Earth 项目地址: https://gitcode.com/GitHub_Trending/ze/ZeroTierOne 作为一名技术顾问,我经常被问到:"为什么我和朋友联机游戏总是卡顿?" 🤔 今天&a…

作者头像 李华
网站建设 2026/6/10 9:42:14

ERNIE 4.5 VL:30亿参数如何重构多模态AI产业格局

ERNIE 4.5 VL:30亿参数如何重构多模态AI产业格局 【免费下载链接】ERNIE-4.5-VL-28B-A3B-Base-Paddle 项目地址: https://ai.gitcode.com/hf_mirrors/baidu/ERNIE-4.5-VL-28B-A3B-Base-Paddle 导语 百度ERNIE 4.5 VL系列模型以异构MoE架构实现30亿激活参数…

作者头像 李华
网站建设 2026/6/9 23:02:44

Taro瀑布流组件终极指南:让你的跨端应用布局效率提升40%

Taro瀑布流组件终极指南:让你的跨端应用布局效率提升40% 【免费下载链接】taro 开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/ 项目地址: h…

作者头像 李华
网站建设 2026/6/9 10:31:11

三步掌握Proxmox VE Helper-Scripts离线容器部署全流程

三步掌握Proxmox VE Helper-Scripts离线容器部署全流程 【免费下载链接】Proxmox Proxmox VE Helper-Scripts 项目地址: https://gitcode.com/gh_mirrors/pr/Proxmox Proxmox VE Helper-Scripts是一个专为Proxmox VE环境设计的自动化工具集,能够大幅简化容器…

作者头像 李华
网站建设 2026/6/10 9:44:01

Fooocus-MRE:AI绘画革命性工具的深度解析

Fooocus-MRE:AI绘画革命性工具的深度解析 【免费下载链接】Fooocus-MRE Focus on prompting and generating 项目地址: https://gitcode.com/gh_mirrors/fo/Fooocus-MRE 快速入门指南 想要体验专业级的AI绘画效果?Fooocus-MRE为你提供了零门槛的…

作者头像 李华
网站建设 2026/6/9 21:20:45

铁砧附魔逻辑

AnvilMenu 1. 整体结构 类定义 public class AnvilMenu extends ItemCombinerMenu铁砧菜单继承自 ItemCombinerMenu,这是一个专门用于物品合成/组合的基类。 槽位定义 public static final int INPUT_SLOT = 0

作者头像 李华