跳到主要内容

Redis 知识体系概览

问题

Redis 是什么?为什么这么快?面试中 Redis 的核心知识点有哪些?

答案

一、Redis 定位

Redis(Remote Dictionary Server)是一个 基于内存 的高性能键值数据库,支持丰富的数据结构。

特性说明
内存存储所有数据在内存中,读写极快
丰富数据结构String、Hash、List、Set、ZSet + 特殊类型
持久化RDB 快照 + AOF 追加日志
高可用主从复制、哨兵、Cluster
单线程模型避免锁竞争,命令执行串行化
原子操作单命令天然原子,支持 Lua 脚本

二、Redis 为什么这么快?

原因说明
纯内存操作内存访问 ns 级,磁盘 ms 级,快 10 万倍
单线程无锁无上下文切换,无锁竞争
IO 多路复用epoll/kqueue 处理高并发连接
高效数据结构SDS、跳表、压缩列表、整数集合
简单协议RESP 协议,解析简单
单线程?多线程?
  • Redis 6.0 之前:完全单线程
  • Redis 6.0+:网络 IO 多线程,命令执行仍然单线程
  • 所以说 Redis 是「单线程」指的是命令执行是单线程的

三、知识体系

四、面试重点分布

主题频率核心知识点
数据结构⭐⭐⭐⭐⭐5 种类型 + 底层编码 + 应用场景
缓存问题⭐⭐⭐⭐⭐穿透、击穿、雪崩
持久化⭐⭐⭐⭐RDB vs AOF
分布式锁⭐⭐⭐⭐SETNX、Redisson
集群⭐⭐⭐⭐主从、哨兵、Cluster
内存管理⭐⭐⭐淘汰策略、过期删除
应用场景⭐⭐⭐排行榜、限流、延时队列
性能优化⭐⭐⭐Pipeline、大 Key、慢查询

相关链接