Redis面试 实战贴 后面持续更新链接

redis是使用C语言写的。

面试问题列表:
Redis支持哪些数据类型?各适用于什么场景?

Redis为什么采用单线程模型?优势与瓶颈是什么?

RDB和AOF持久化的区别?如何选择?混合持久化如何实现?

Redis缓存穿透、雪崩、击穿的解决方案?

如何用Redis实现分布式锁?RedLock算法的核心思想?Redisson的看门狗机制原理?

Redis内存淘汰策略有哪些?

Redis的Pipeline和Lua脚本适用场景是什么?使用时需要注意什么?

Redis的过期键删除策略?

如何利用Redis实现延迟队列?

Redis的发布订阅模型有哪些缺点?

Redis集群主从复制的流程是怎样的?

Redis Sentinel如何实现高可用?

什么是脑裂问题?如何避免?

Redis Cluster的数据分片原理?为什么Redis Cluster不支持跨节点事务?Redis Cluster模式下如何实现跨节点事务?

集群如何扩容?数据迁移过程?

集群模式下,批量操作(如MSET)需要注意什么?

Codis与Redis Cluster的优缺点对比?Redis Cluster节点间通信协议?

Redis集群的Slot分配机制是什么?如何解决数据倾斜?

Redis的Hot Key自动发现与处理方案?

Redis大Key(Big Key)的优化策略?

Redis内存碎片率高的原因及解决方案?

Redis 6.0多线程模型如何工作?

如何设计一个二级缓存(Redis+Caffeine)架构?

Redis架构图

# Redis五大架构模式详解(图示+场景)## 1. 单机模式
```asciidoc
+-----------------+
| Redis单机实例    |
| (全量数据存储)    |
+-----------------+

特点
✅ 部署简单
✅ 数据全内存操作
❌ 无高可用保障
❌ 容量受单机限制

适用场景:开发测试环境


2. 主从复制架构

       +----------+        写请求| Master   | <───────┐+----------+         ││               │▼ 数据同步       │
+----------+  +----------+   │
| Slave1   |  | Slave2   | ←─┘ 读请求
+----------+  +----------+

核心机制
🔹 异步数据复制
🔹 读写分离(写Master→读Slave)
🔹 从节点可水平扩展

适用场景:读多写少业务


3. 哨兵模式(Sentinel)

        +--------------+| Sentinel集群 |+------+-------+│监控
+--------------+--------------+
| Master节点                  |
+--------------+--------------+│ 故障转移
+--------------+--------------+
| 新Master节点(原Slave提升)  |
+-----------------------------+

核心能力
🚨 自动故障检测与转移
📊 集群状态实时监控
🔀 客户端自动发现新Master

适用场景:需要高可用保障的生产系统


4. Cluster集群模式

+--------+    +--------+    +--------+
| 分片1   | ←→ | 分片2   | ←→ | 分片3   |
| (16384槽)|    | (16384槽)|    | (16384槽)|
+---+-----+    +---+-----+    +---+-----+│              │              │▼              ▼              ▼
+---+-----+    +---+-----+    +---+-----+
| 副本节点 |    | 副本节点 |    | 副本节点 |
+--------+    +--------+    +--------+

核心特性
🔧 数据自动分片(hash slot)
🌐 节点间Gossip协议通信
⚡ 支持水平扩展

适用场景:大数据量、高并发场景


5. 代理模式(Codis/Twemproxy)

+-----------------+
| 代理层           |
| (路由/负载均衡)   |
+-----+-----+-----+|     |     |
+-----+ +-----+ +-----+
| Redis组1 | Redis组2 | Redis组3
+---------+ +---------+ +---------+

优势
🛡️ 客户端无感知扩容
📡 支持多语言客户端
🔀 灵活的路由策略

适用场景:已有Redis集群的平滑迁移


架构选型指南

场景需求推荐架构
开发/测试单机模式
读多写少主从复制
7*24高可用哨兵模式
大数据量存储Cluster集群
旧集群迁移代理模式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/79162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Selenium自动化测试工具常见函数

目录 前言 一、什么是自动化&#xff1f; 二、元素的定位 三、测试对象的操作 3.1输入文本send_keys() 3.2按钮点击click() 3.3清除文本clear() 3.4获取文本信息text 3.5获取页面的title与URL 四、窗口 4.1窗口的切换switch_to.window() 4.2窗口大小设置 …

seata 1.5.2 升级到2.1.0版本

一、部署1.5.2 1、解压缩 tar -xvf apache-seata-***-incubating-bin.tar.gz 2、修改conf下的application.yml 只需要修改seata下的此配置&#xff0c;然后再nacos中添加其它配置&#xff0c;下面是application.yml的配置&#xff1a; server:port: 7091spring:applic…

Vue知识框架

一、Vue 基础核心 1. 响应式原理 数据驱动&#xff1a;通过 data 定义响应式数据&#xff0c;视图自动同步数据变化。 2、核心机制 Object.defineProperty&#xff08;Vue 2.x&#xff09;或 Proxy&#xff08;Vue 3.x&#xff09;实现数据劫持。依赖收集&#xff1a;追踪…

Nginx静态资源增加权限验证

Nginx静态资源增加权限验证 一、前言二、解决思路2.1、方式一2.2、方式二三、代码3.1、方式一3.1.1、前端代码3.1.2、后端代码3.1.3、Nginx调整3.1.4、注意事项3.2.方式二四、参考资料一、前言 在项目开发的过程中,项目初期,及大部分小型项目都是使用共享磁盘进行静态文件的…

分析NVIDIA的股价和业绩暴涨的原因

NVIDIA自2016年以来股价与业绩的持续高增长&#xff0c;是多重因素共同作用的结果。作为芯片行业的领军企业&#xff0c;NVIDIA抓住了技术、战略、市场与行业趋势的机遇。以下从技术创新、战略布局、市场需求、财务表现及外部环境等维度&#xff0c;深入分析其成功原因&#xf…

更换芯片后因匝数比变化,在长距离传输时出现通讯问题。我将从匝数比对信号传输的影响、阻抗匹配等方面分析可能原因,并给出相应解决方案。

匝数比影响信号幅度与相位&#xff1a;原 HM1188 芯片匝数比 1:1&#xff0c;信号在变压器原副边传输时幅度基本不变&#xff1b;更换为 XT1188 芯片&#xff08;匝数比 1:2&#xff09;后&#xff0c;根据变压器原理&#xff0c;副边输出信号幅度会变为原边的 2 倍。短距离 10…

Python引领前后端创新变革,重塑数字世界架构

引言:Python 在前后端开发的崭新时代 在当今数字化时代,软件开发领域持续创新,而 Python 作为一门功能强大、应用广泛的编程语言,正引领着前后端开发的变革浪潮。Python 以其简洁易读的语法、丰富的库和框架生态系统,以及强大的跨领域适用性,在计算机领域占据了举足轻重…

IP SSL证书常见问题助您快速实现HTTPS加密

一、什么是IP SSL证书&#xff1f; IP SSL证书是一种专门用于保护基于IP地址的网站或服务器的SSL证书。与传统的域名SSL证书不同&#xff0c;它不需要绑定域名&#xff0c;而是直接与公网IP地址关联。当用户访问该IP地址时&#xff0c;浏览器与服务器之间会建立加密连接&#…

「Mac畅玩AIGC与多模态27」开发篇23 - 多任务摘要合成与提醒工作流示例

一、概述 本篇基于兴趣建议输出的方式&#xff0c;扩展为支持多任务输入场景&#xff0c;介绍如何使用 LLM 对用户输入的多项待办事项进行摘要整合、生成重点提醒&#xff0c;并保持自然语言风格输出&#xff0c;适用于任务总结、进度引导、日程提醒等轻量型任务生成场景。 二…

前端自学入门:HTML 基础详解与学习路线指引

在互联网的浪潮中&#xff0c;前端开发如同构建数字世界的基石&#xff0c;而 HTML 则是前端开发的 “入场券”。对于许多渴望踏入前端领域的初学者而言&#xff0c;HTML 入门是首要挑战。本指南将以清晰易懂的方式&#xff0c;带大家深入了解 HTML 基础&#xff0c;并梳理前端…

js 两个数组中的指定参数(id)相同,为某个对象设置disabled属性

在JavaScript中&#xff0c;如果想要比较两个数组并根据它们的id属性来设置某个对象的disabled属性为true&#xff0c;你可以使用几种不同的方法。这里我将介绍几种常用的方法&#xff1a; 方法1&#xff1a;使用循环和条件判断 const array1 [{ id: 1, name: Item 1 },{ id…

编写大模型Prompt提示词方法

明确目标和任务 // 调用LLM进行分析const prompt 你是一名严格而友好的英语口语评分官&#xff0c;专业背景包括语音学&#xff08;phonetics&#xff09;、二语习得&#xff08;SLA&#xff09;和自动语音识别&#xff08;ASR&#xff09;。你的任务是&#xff1a; ① 比对参…

MCP系列(一)什么是MCP?

MCP 是什么&#xff1a;从 USB-C 到 AI 的「万能接口」哲学 MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09; 是Anthropic于2024年11月推出的AI跨系统交互标准&#xff0c;专为解决LLM&#xff08;大语言模型&#xff09;的「数字失语症」——让…

NoMachine 将虚拟显示器改为物理显示器

一、前言 大多数服务器需求是设置为虚拟显示器&#xff0c;因为服务器本身不接物理的显示器。但我的需求不太一样&#xff0c;服务器就在身边&#xff0c;有时候关闭远控也需要实时监测&#xff0c;所以接了物理的显示器。 NoMachine 默认会为用户创建一个新的桌面会话&#xf…

YOLOv8 优化:基于 Damo-YOLO 与 DyHead 检测头融合的创新研究

文章目录 YOLOv8 的背景与发展Damo-YOLO 的优势与特点DyHead 检测头的创新之处融合 Damo-YOLO 与 DyHead 检测头的思路融合后的模型架构融合模型的代码实现导入必要的库定义 Damo-YOLO 的主干网络定义特征金字塔网络&#xff08;FPN&#xff09;定义 DyHead 检测头定义融合后的…

关税冲击下,FBA国际物流企业如何靠智能拓客跑出增长“加速度”?

国际物流行业正迎来前所未有的增长机遇。据中研普华最新报告&#xff0c;2025年全球物流市场规模已突破6.27万亿美元&#xff0c;其中中国跨境物流市场预计达2.71万亿元。在全球化与数字化双轮驱动下&#xff0c;国际物流从“规模扩张”迈向“价值重构”。可以说&#xff0c;国…

《内存单位:解锁数字世界的“度量衡”》

&#x1f680;个人主页&#xff1a;BabyZZの秘密日记 &#x1f4d6;收入专栏&#xff1a;C语言 &#x1f30d;文章目入 一、基础单位&#xff1a;字节&#xff08;Byte&#xff09;二、进阶单位&#xff1a;千字节&#xff08;KB&#xff09;、兆字节&#xff08;MB&#xff09…

PyQt 探索QMainWindow:打造专业的PyQt5主窗

在PyQt5的世界里&#xff0c;窗口的创建和管理是构建图形用户界面&#xff08;GUI&#xff09;的基础。QMainWindow作为主窗口类&#xff0c;为开发者提供了强大而灵活的应用程序框架。今天&#xff0c;就让我们一起深入了解QMainWindow的奥秘。 QMainWindow简介 QMainWindow…

Missashe高数强化学习笔记(随时更新)

Missashe高数强化学习笔记 说明&#xff1a;这篇笔记用于博主对高数强化课所学进行记录和总结。由于部分内容写在博主的日记博客里&#xff0c;所以博主会不定期将其重新copy到本篇笔记里。 第一章 函数极限连续 第二章 一元函数微分学 第三章 一元函数积分学 第一节 不定…

Ruby 字符串(String)

Ruby 字符串&#xff08;String&#xff09; 引言 在编程语言中&#xff0c;字符串是表示文本数据的一种基本数据类型。在Ruby中&#xff0c;字符串处理是日常编程中非常常见的一项任务。本文将详细介绍Ruby中的字符串&#xff08;String&#xff09;类型&#xff0c;包括其创…