网通社科技快报

Redis高频面试题六大核心维度深度整合与生产避坑指南

在后端与架构岗面试中,Redis已成为必考项,其高频题聚焦六大核心维度。首先,性能原理已非单纯‘单线程无锁’——自6.0起,网络I/O层引入多线程处理读写,主线程仍单线程执行命令以保障原子性;瓶颈常源于慢查询、大Key或Lua死循环。其次,过期Key采用惰性删除(访问时触发)与定期抽样删除协同,内存占用不会随TTL到期即时下降,需区分其与maxmemory-policy驱动的内存淘汰策略(如volatile-lru、allkeys-lru)。第三,持久化选型上,RDB快照恢复快但可能丢数据,AOF日志更安全但体积大;混合持久化(RDB底稿+增量AOF)成主流;线上禁用SAVE,警惕BGSAVE fork抖动。第四,分布式锁推荐单实例+唯一值校验+合理超时,Redlock因时钟漂移存疑;关键场景优先用Lua合并读写实现原子操作.第五,Cluster通过16384个哈希槽分片,Key映射为CRC16(key) mod 16384;多Key命令需同槽,可用哈希标签(如{1001})强制路由;需厘清Cluster、Sentinel与主从复制的功能边界。第六,事务MULTI/EXEC仅保证命令队列原子执行,无回滚与隔离级别,强一致场景应结合Lua或数据库事务。此外, 缓存穿透(查不存在Key)可用布隆过滤器或空值缓存防御;击穿(热点Key过期瞬时高并发)可通过互斥锁或永不过期+异步更新缓解;大Key易引发阻塞,需定期扫描拆分.当前趋势强调将Redis置于业务链路中考察,如熔断监控、Serverless冷启动防护等,要求候选人具备系统级协作思维而非仅记忆命令。