重点:缓存 和 分布式锁
缓存(穿透,击穿,雪崩)
降级可作为系统的保底策略,适用于穿透,击穿,雪崩
1.缓存穿透
2.缓存击穿
3.缓存雪崩
缓存——双写一致性
1.强一致性业务(金融)
2.允许短暂不一致允许(大部分)
根据不同的业务提供对应的方案
(1)延时双删
避免脏数据,所以要删两次缓存,延迟双删
(2) 分布式锁
读写锁这种强一致性业务,性能低
(3) 异步通知
缓存——持久化
RDB —— Redis数据备份文件,数据快照
内存记录磁盘——便于恢复
缓存——数据过期策略
缓存——数据淘汰策略
TTL(time to live)剩余时间
LRU(least recently used)最近最少使用
LFU (least frequently used) 最少频率使用
Redis分布式锁
setnex
redission
用于解决线程之间的互斥性(比如秒杀抢购,不用锁会超卖)
Redis集群方案
- 主从复制
- 哨兵模式
- 分片集群