一、介绍
1、为什么需要缓冲?
- 缓解数据库压力、提高用户体验。
2、缓冲特征
- 命中率: 命中数/(命中数 + 没有命中数)
- 最大元素(空间)
- 清空策略:FIFO 、LFU 、LRU 、过期时间、随机等
3、缓冲命中率影响因素
- 业务场景和业务需求
- 缓冲的设计(粒度 和 策略)
- 缓冲容量和基础设施
4、缓冲分类和应用场景
- 本地缓冲: 编程实现(成员变量、局部变量、静态变量)、Guava Cache
- 分布式缓冲:Memcache 、Redis
5、并发下常见缓冲问题
- 缓冲一致性
- 缓冲并发问题
- 缓冲穿透问题
a: null 对象缓冲 、缓冲对象时效性、单独过滤处理
- 缓冲的雪崩现象
Hash 一致性解决