一、BitMaps 布隆过滤器
1、BitMaps如何存储数据
2、BitMaps的存储优势
算一下:bitMap的存储优势到底有多大
网站:1亿用户,独立访问5千万。
集合类型 VS BitMaps 存储活跃用户。
集合类型: id -- Long类型 64位 = 8 * 50 000 000 = 400M (每天)
Bitmaps = 1位 = (1/8)* 100 000 000 = 12.5M
3、布隆过滤器
- 布隆过滤器是一个算法
- 由二进制数组和一个Hah算法组成
- 作用:判断一个元素是否在一个集合中
- 特点:高效的插入和查询
- 有一定的误判性:
- 若布隆过滤器判断一个元素不在集合内,那么一定不在。
- 若布隆过滤器判断一个元素 在 集合内,那么不一定存在(发生了Hash冲突)
- 误判的优化方案:
- 增加Hah函数 - 多一套计算逻辑
- 增大数组(不推荐)
- 使用场景:
- 黑名单
- 缓存穿透的处理方案
- 依赖redis实现布隆过滤器