redis 缓存穿透
1. 预防手段
- 缓存空值
- 布隆过滤器
2.缓存空值的优缺点
优点:
- 现有业务不需要修改
- 注解方式可处理
缺点:
- 缓存没必要的空值浪费空间
- 会造成前后数据不一致的问题
3.布隆过滤器的优缺点
优点:
- 节约空间,一个布隆过滤器 11MB的空间可以存储几十亿的数据
- 性能比较好,处理比较快
缺点:
- 有误判率,误判率计算:https://krisives.github.io/bloom-calculator/
- 已存在的数据,需要定时存入布隆过滤器
- 新增的数据,需要同步存入布隆过滤器
- 布隆过滤器不能删除数据,会造成Hash冲突