缓存击穿
- 查询一个DB中不存的数据,无法缓存到redis,每次查询流量都会打到DB,这样对DB造成大量的IO读写压力
解决方案
- 每次查询如果未null,就将空数据缓存起来,但是这样也会有问题 如果null过多对redis也会造成存储压力
- 通过布隆过滤器提前初始化一个大容量的bitmap 初始元素都是0 ,将一个指定存储的值经过多次hash操作,将0变成1存储,查找过程反之一样。但是这种方式可能会存在不同元素的hash冲突进而出现误判。可以通过调整hash函数的数量和位数组的大小,误判是无法完全避免的