1. Redis的五种基础数据结构?别被版本更新坑了!(最新变动必看)
传统答案会脱口而出String/Hash/List/Set/ZSet这五种,但Redis 5.0新增的Stream类型已经晋升为第六大类型(面试官可能自己都没反应过来!!!)。重点掌握Stream在消息队列场景的应用,特别是消费者组机制和ACK确认特性,这已经成了大厂高频考点。
2. 缓存雪崩VS缓存穿透,哪个破坏力更强?
雪崩像雪球越滚越大(大量key同时失效),穿透则是针尖刺破防护(查询不存在的数据)。但实际最恐怖的是缓存击穿——某个超级热点key突然失效,百万QPS直接怼到数据库(亲身经历:某电商大促时商品详情页缓存失效,MySQL连接池瞬间打满!)
解决方案对比表:
| 现象 | 防御手段 | 注意事项 |
|---|---|---|
| 雪崩 | 随机过期时间 + 永不过期策略 | 预热环节要加二级缓存 |
| 穿透 | 布隆过滤器 + 空值缓存 | 过滤器存在误判,需定期重建 |
| 击穿 | 互斥锁 + 热点数据永不过期 | 分布式锁要设置合理的超时时间 |
3. Redis事务能保证ACID吗?别想当然!
Redis事务更像是批量命令打包(multi-exec),没有传统数据库的原子性和隔离性。举个反例:在事务中watch某个key后,如果其他客户端修改了该key,整个事务会失败(但

最低0.47元/天 解锁文章
589

被折叠的 条评论
为什么被折叠?



