面试被问Redis,这5个知识点必须答上来

时间:2026-05-29 14:52:51   阅读:4

后端面试几乎必问Redis。不是考你背了多少命令,而是看你理不理解它的设计思想。这5个知识点答上来,面试官会觉得你真的用过。

1. 为什么Redis这么快

纯内存操作、单线程避免上下文切换、IO多路复用(epoll)、高效数据结构(SDS、跳表、压缩列表)。不是因为它用了什么黑科技,而是每个设计决策都在为速度服务。单线程听起来慢,但省去了锁竞争和线程切换的开销,反而更快。

2. 持久化怎么选

RDB:定期快照,恢复快但可能丢数据。AOF:记录每条写命令,数据更安全但文件大。生产环境建议两个都开,RDB做冷备份,AOF做实时恢复。Redis 4.0之后支持混合持久化,兼顾两者优点。

3. 缓存穿透、击穿、雪崩

穿透:查询不存在的数据,每次都打到数据库。解决:布隆过滤器或缓存空值。击穿:热点key过期瞬间,大量请求涌向数据库。解决:互斥锁或永不过期。雪崩:大量key同时过期,数据库压力骤增。解决:过期时间加随机值,避免集中过期。

4. 分布式锁怎么实现

最简单的方案:SET key value NX EX 30。但要注意原子性和续期问题。生产环境推荐用Redisson框架,它帮你处理了看门狗续期、可重入、红锁等复杂场景。

5. 数据类型的选择

不要什么都用String存JSON。排行榜用Sorted Set,签到用Bitmap,地理位置用GEO,消息队列用Stream。选对数据结构,代码更简洁,性能也更好。

上一篇:网站加载慢?这6个优化手段立竿见影

下一篇:Git提交信息写不好?试试这3种规范化写法