大家好,这里是卡卡酷,今天讲一下
前言
在后端技术面试中,Redis 作为一款高性能的内存数据库,是面试官考察的重点内容之一。无论是初级开发岗位还是高级架构师岗位,都可能涉及 Redis 的相关问题。本文整理了 Redis 面试中常见的问题及详细解答,涵盖基础概念、核心特性、数据结构、持久化、高可用、性能优化等多个方面,帮助大家系统梳理 Redis 知识,从容应对面试。
篇幅有限,为了不影响大家的阅读体验
垫子版内容已经整理,直接嗱:
一、基础必问
1. Redis 核心特点是什么?(几乎必问)
参考答案 :6 个核心点 ------高性能(内存存储,每秒数十万次读写)、多数据结构(String/Hash 等)、持久化(RDB+AOF)、高可用(主从 + 哨兵)、分布式(Redis Cluster 分片)、多语言支持(适配 Java/Python 等)。
2. Redis 与 MySQL 核心区别?(高频对比)
参考答案:关键在 3 点 ------
存储位置:Redis 在内存(支持持久化),MySQL 在磁盘(依赖缓存);
数据模型:Redis 是键值多结构,MySQL 是关系型表结构;
事务 :Redis 仅简单事务(无回滚),MySQL 支持完整 ACID 事务。
二、数据结构高频题
1. Redis 主要数据结构及典型场景?(核心考点)
参考答案:5 种常用结构 + 场景,记关键对应关系:
String:缓存、计数器、分布式锁;
Hash:存用户 / 商品对象、购物车;
List:消息队列、最新列表;
Set:去重、好友关系;
Sorted Set:排行榜、范围查询。
2. Redis String 与普通语言字符串的区别?(易忽略考点)
参考答案:核心在存储和功能 ------
存储 :Redis 用 SDS(存长度 / 空闲空间,支持二进制安全),普通语言用字符数组;
功能:Redis 支持 INCR/DECR/MSET,普通语言仅基础拼接截取。
三、持久化重点题
1. RDB 和 AOF 持久化的区别?(必问二选一)
参考答案:从原理、优缺点对比:
|----|---------------|-------------|
| 维度 | RDB | AOF |
| 原理 | 间隔生成内存快照(二进制) | 记录写命令日志(文本) |
| 优点 | 文件小、恢复快 | 数据安全高(丢数据少) |
| 缺点 | 安全性低(丢间隔数据) | 文件大、恢复慢 |
2. 业务中怎么选 Redis 持久化方式?(结合场景题)
参考答案:按需求选 ------选 AOF:高安全需求(如金融数据)、需审计数据变化;
选 RDB:高并发、数据丢失容忍高(如非核心缓存)、需频繁备份;
选混合(4.0+):要平衡恢复速度和安全性。
四、高可用核心题
1. Redis 主从复制的原理和作用?(高可用基础必问)
参考答案:原理 + 3 大作用 ------
原理:从库先同步主库全量数据,后续实时同步增量命令(主发从执行);
作用:数据备份、读写分离(减轻主库压力)、故障转移基础(主挂从可晋升)。