应用场景
缓存设计 ⭐⭐⭐⭐⭐
缓存架构
Client → 应用服务器 → Redis(缓存) → MySQL(数据库)
↓
1. 查询缓存
2. 缓存命中 → 返回
3. 缓存未命中 → 查 DB → 写缓存 → 返回缓存穿透 ⭐⭐⭐⭐⭐
问题
请求不存在的 user_id = -1
→ Redis 没有
→ MySQL 没有
→ 大量请求直接打到 MySQL
→ 数据库压力暴增解决方案
缓存击穿 ⭐⭐⭐⭐⭐
问题
解决方案
缓存雪崩 ⭐⭐⭐⭐⭐
问题
解决方案
缓存一致性 ⭐⭐⭐⭐⭐
双写一致性问题
策略
问题
推荐方案:Cache Aside Pattern
延迟双删
分布式锁 ⭐⭐⭐⭐⭐
基本实现
存在的问题
Redlock 算法 ⭐⭐⭐⭐
其他应用场景
排行榜(ZSet)
计数器与限流
消息队列(List / Stream)
面试要点 ⭐⭐⭐⭐⭐
参考资料
Last updated