版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Redis缓存高频面试题(真实企业面试版)一、Redis基础认知(初级必问)1、Redis是什么?核心特点有哪些?Redis是一款开源的、基于内存的高性能键值对数据库,常被用作缓存、分布式锁、消息队列、计数器等场景。核心特点:高性能:纯内存操作,读写速度极快,单机QPS可达10万+数据结构丰富:支持String、List、Set、Hash、ZSet等多种数据结构,适配不同业务场景持久化能力:支持RDB、AOF两种持久化方式,防止断电数据丢失单线程模型:核心读写命令单线程执行,避免多线程竞争锁开销高可用、可集群:支持主从复制、哨兵模式、Cluster集群,满足高可用和海量数据场景支持过期、淘汰策略:自动清理过期数据,控制内存占用2、Redis为什么速度这么快?行业内常问到的核心问题,核心四点原因:纯内存操作:所有数据存储在内存,避免磁盘IO的耗时,读写效率远超磁盘数据库单线程无锁竞争:核心命令串行执行,不需要频繁加锁、解锁,规避了多线程上下文切换、锁等待的开销IO多路复用模型:采用epoll实现非阻塞IO,单线程可以高效处理大量客户端连接,不会被单个连接阻塞数据结构极简优化:底层数据结构都是高度优化的简易结构,查询、修改时间复杂度极低,同时命令执行逻辑轻量化3、Redis单线程为什么不会产生CPU瓶颈?Redis的瓶颈从来不在CPU,主要在内存和网络IO。原因:Redis单线程仅负责命令解析、读写数据、逻辑处理,这些都是轻量化操作;耗时的持久化、文件同步、集群同步等操作,均由子线程、子进程异步完成,不占用主线程CPU资源,因此单线程完全可以支撑高并发。4、Redis常用数据结构及适用业务场景?String(字符串):最基础类型,支持读写、自增自减。场景:用户信息缓存、接口限流、计数器、分布式ID、验证码存储Hash(哈希):键值对集合,适合存储对象。场景:用户详情、商品信息、订单基础信息,可单独修改某个字段,无需整体更新List(列表):有序可重复,双向链表结构。场景:简单消息队列、任务队列、用户浏览记录、排行榜时序数据Set(集合):无序不可重复,支持交集、并集、差集。场景:好友列表、点赞用户、去重统计、共同好友筛选ZSet(有序集合):不可重复、自带权重排序。场景:热搜榜单、积分排行榜、延时任务、带权重的排序统计二、Redis持久化(面试高频)1、Redis两种持久化方式:RDB和AOF区别?各自优缺点?RDB(快照持久化)定期将内存中全量数据生成二进制快照文件保存到磁盘,默认dump.rdb。优点:文件体积小、恢复速度快,适合做冷备份持久化过程由子进程完成,主线程几乎无性能损耗缺点:有数据丢失风险:两次快照之间的增量数据会丢失大数据量时fork子进程会短暂卡顿AOF(日志持久化)实时记录Redis的每一条写命令,追加到日志文件,重启时重放命令恢复数据。优点:数据安全性极高,支持秒级甚至几乎零丢失日志以追加形式写入,不会损坏原有文件数据缺点:日志文件体积大,恢复速度比RDB慢高频写入场景下,IO开销比RDB大2、线上Redis持久化怎么配置?生产环境默认RDB+AOF双开启。理由:AOF保证数据尽可能不丢失,RDB用于快速恢复和冷备份。如果只开AOF,文件过大恢复慢;只开RDB,丢失数据风险高,双模式兼顾安全和性能。3、AOF重写机制了解吗?为什么需要重写?AOF会持续追加写命令,长期运行后日志文件会极度臃肿,大量重复命令(比如多次修改同一个key)占用磁盘空间。AOF重写会开启子进程,根据当前内存最新数据,生成一份精简的新日志文件,替换旧文件,清除冗余命令,压缩文件体积,提升数据恢复效率,全程不影响主线程正常读写。三、缓存三大经典问题(核心必考)1、缓存穿透、缓存击穿、缓存雪崩的区别?解决方案?(1)缓存穿透现象:查询不存在的数据,缓存和数据库都没有,请求直接打到数据库,高频恶意请求会压垮数据库。解决方案:空值缓存:查询为空时,缓存空数据,设置较短过期时间布隆过滤器:提前过滤不存在的key,拦截无效请求接口限流、参数校验,拦截非法请求(2)缓存击穿现象:热点key过期瞬间,大量并发请求同时打向数据库,瞬间压垮DB。解决方案:热点key永不过期加分布式锁(Redisson),保证同一时间只有一个请求更新缓存过期时间随机偏移,避免批量key同时过期(3)缓存雪崩现象:大量缓存key同时过期/Redis集群宕机,所有请求全部直达数据库,导致数据库雪崩宕机。解决方案:过期时间加随机值,避免批量过期搭建Redis高可用集群(主从+哨兵/Cluster),避免单点宕机服务层加熔断、降级、限流机制搭建多级缓存(本地缓存+Redis分布式缓存)2、缓存和数据库数据一致性怎么保证?没有绝对的实时一致,业务中根据一致性要求选择方案:普通业务(最终一致即可):更新数据库+删除缓存(优先删缓存,比更新缓存更稳妥),依靠过期时间自动同步数据高一致业务:更新数据库后,延时双删缓存,规避并发更新导致的脏数据强一致场景:读写串行化、分布式锁控制读写时序,或直接查数据库禁止先更新缓存再更新数据库,极易出现数据不一致四、Redis过期与淘汰策略1、Rediskey过期删除策略有哪些?惰性删除:key过期后不立即删除,下次访问时才检测删除,节省CPU资源,但会占用内存定期删除:主线程定时随机抽取部分过期key删除,平衡CPU和内存占用,避免大量过期key堆积Redis默认采用惰性删除+定期删除结合的方式。2、Redis内存淘汰策略有哪些?生产用哪种?当内存达到maxmemory阈值时,触发淘汰策略,共8种,生产常用2种:allkeys-lru(生产主流):优先淘汰最近最少使用的key,适配绝大多数缓存业务volatile-lru:只淘汰带过期时间的最少使用key,永久数据不会被删除其余策略:淘汰最久未使用、随机淘汰、淘汰过期时间最近的key等,极少线上使用五、Redis高可用与集群1、主从复制原理?存在什么问题?主节点负责读写,从节点同步主节点数据,分担读压力,实现读写分离。复制流程:全量同步(初次同步RDB快照)+增量同步(持续同步主节点写命令)。存在问题:主节点宕机后无法自动切换,需要人工干预,不具备完整高可用能力。2、哨兵模式的作用?哨兵是专门监控主从集群的独立进程,核心能力:监控:实时监控主、从节点状态自动故障转移:主节点宕机,自动选举新主节点,重新搭建主从架构消息通知:将集群故障、切换结果同步给客户端哨兵解决了主从模式无法自动切换的问题,适合中小型集群。3、RedisCluster集群原理?为什么用集群?Cluster是Redis分布式集群,采用哈希槽机制,总共16384个槽位,均匀分配给所有主节点。根据key的CRC16哈希值对16384取模,确定key存储的节点。集群优势:横向扩容:支持动态增减节点,突破单机内存、并发限制高可用:每个主节点搭配从节点,单个节点故障不影响整体集群数据分片存储,海量数据场景适配性更强六、Redis实战场景与踩坑题(进阶)1、Redis分布式锁实现原理?有什么坑?怎么解决?核心实现:利用SETNXEX命令,key不存在则创建(加锁),设置过期时间,防止死锁;释放锁通过Lua脚本,保证原子性(判断归属+删除)。常见坑及解决方案:锁超时导致误释放:加锁时存入唯一标识(UUID),释放锁先校验归属业务执行超时锁过期:开启锁续期机制(看门狗)释放锁非原子:使用Lua脚本保证操作原子性生产优先使用Redisson,自动实现续期、原子解锁、可重入锁等能力。2、Redis适合做哪些场景?不适合做哪些?适合场景:热点数据缓存、分布式锁、限流计数器、简单消息队列、排行榜、会话存储、去重统计不适合场景:海量冷数据存储、数据一致性要求极高的核心交易数据、复杂事务场景、超大文本存储3、Redis大key问题是什么?有什么影响?怎么处理?大key:单个key对应value过大(String超过10KB、集合类元素过多)。危害:读写耗时变长、阻塞主线程、引发网络带宽打满、集群数据迁移卡顿、导致缓存超时、业务报错。解决方案:拆分大key:将大集合拆分为多个小key存储优化数据结构,精简存储内容限制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安全培训教育模拟试卷及答案详解
- 冷链物流员安全技能测试考核试卷含答案
- 2026年日式恋爱模拟题及答案详解
- 钢筋工岗前安全知识竞赛考核试卷含答案
- 2026年供水施工安全模拟试题(含答案)
- 消毒员操作管理模拟考核试卷含答案
- 2026年工作标准化模拟试题(含答案)
- 2026年滑雪学员模拟试卷(含答案)
- 网络安全知识培训测试题及答案详解
- 2026年国语培训测试模拟试题(含答案)
- 吉利SHL测评题库及答案
- 《铁矿低温反浮选技术规范》
- 夏季高温桥梁施工防暑降温安全专项方案
- 2023年重庆沙坪坝区选拔社区专职工作者后备人选240人备考题库及答案解析(夺冠)
- 2025商用具身智能白皮书
- 2023年防雷检测专业技术人员能力认定考试题库
- 2025四川成都大邑县总工会招聘6人备考考试题库附答案解析
- 网络工程师职业生涯规划总结报告
- T-HSXLXH 004-2024 额定电压6kV(Um=7.2kV)到35kV(Um=40.5kV)挤包绝缘耐火电力电缆
- 人教版(2024)八年级上册物理第四章《光现象》作图练习题汇编(含答案解析)
- 设计书籍封面 说课稿
评论
0/150
提交评论