Redis 面试常考问题(高频核心版)

大家好,这里是卡卡酷,今天讲一下

前言

在后端技术面试中,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 大作用 ------​

原理:从库先同步主库全量数据,后续实时同步增量命令(主发从执行);​

作用:数据备份、读写分离(减轻主库压力)、故障转移基础(主挂从可晋升)。

相关推荐
我是苏苏13 分钟前
C#高级:使用ConcurrentQueue做一个简易进程内通信的消息队列
java·windows·c#
難釋懷44 分钟前
Redis命令-Set命令
数据库·redis·缓存
编程小风筝1 小时前
Spring 框架如何整合Redis缓存中间件?
redis·spring·缓存
heartbeat..2 小时前
数据库基础知识体系:概念、约束、范式与国产产品
java·数据库·学习笔记·国产数据库
PXM的算法星球2 小时前
【操作系统】哲学家就餐问题实现详解
java
2301_815357702 小时前
Java项目架构从单体架构到微服务架构的发展演变
java·微服务·架构
Ethan-D2 小时前
#每日一题19 回溯 + 全排列思想
java·开发语言·python·算法·leetcode
Echoo华地2 小时前
idea运行程序默认线程为daemon线程的问题
java·ide·intellij-idea
歪楼小能手3 小时前
Android16系统go版关闭重力旋转开关后缺失手动旋转屏幕悬浮按钮
android·java·平板
Coder_Boy_3 小时前
基于SpringAI的在线考试系统-DDD业务领域模块设计思路
java·数据库·人工智能·spring boot·ddd