Redis
Redis 是内存键值库,用作缓存与高性能存储。理解数据结构与缓存问题是关键。
一、核心数据结构
- String:计数器、分布式锁(SET NX)。
- Hash/List/Set/ZSet:分别适合对象、队列、标签、排行榜(ZSet 带分值排序)。
二、缓存三大问题
- 穿透:查不存在的数据。解决:缓存空值、布隆过滤器。
- 击穿:热点 key 失效瞬间大量请求打到 DB。解决:互斥重建、逻辑过期。
- 雪崩:大量 key 同时失效。解决:过期时间加随机抖动。
三、持久化
RDB 快照紧凑、恢复快;AOF 记录写命令、更安全。生产常混合使用。键过期靠惰性+定期删除。