Redis 是内存数据存储的标杆:微秒级延迟、丰富的数据类型、持久化与高可用,是缓存、会话、排行榜、分布式锁的首选。本讲从核心数据结构到缓存策略与高可用,帮你把 Redis 用得又快又稳。
热点数据没缓存,每次请求都打数据库,QPS 一高就超时、报错。
缓存同时失效、热点 key 被击穿、恶意请求穿透,系统说崩就崩。
先更新缓存还是先更新库?并发下数据对不上,用户看到旧数据。
纯内存操作微秒级响应,是数据库访问的百倍提速。
String/Hash/List/Set/ZSet 等 9 种类型,覆盖绝大多数场景。
ZSet 有序集合实现榜单、热点、延迟队列,一行搞定。
SETNX 实现分布式锁,配合 Lua 脚本保证原子性。
RDB 快照 + AOF 日志,重启不丢数据,兼顾性能与安全。
主从复制 + Sentinel 哨兵 + Cluster 集群,生产级保障。
大量 key 同一时间过期导致集体穿透。对策:过期时间加随机抖动、多级缓存、热点 key 永不过期 + 逻辑过期。
单个热点 key 过期瞬间高并发打到数据库。对策:互斥锁重建、逻辑过期。
查询不存在的数据绕开缓存直打数据库。对策:缓存空值、布隆过滤器拦截。
推荐"先更新数据库,再删缓存",配合延迟双删与消息队列补偿,把不一致窗口降到最低。
商品详情、首页数据缓存,扛住大促峰值流量。
Session 集中存储,多实例共享登录态,支持水平扩展。
点赞数、播放量、排行榜,原子自增 + ZSet 实时更新。
秒杀防超卖、接口限流、分布式任务互斥,保并发安全。