什么是布隆过滤器
来源:郑州达内IT教育培训机构时间:2021/8/17 10:33:55
什么是布隆过滤器
1、安装(Docker)
docker pull redislabs/rebloom
docker run-p 6379:6379--name redis-bloom redislabs/rebloom
docker exec-it redis-bloom bash
2、概念
它的存在时为了检索一个元素是否存在一个集合中,它的空间效率和时间效率都远远超过普通的算法,但数据量庞大的话会有一定的误判率。
3、实现原理
当一个元素加入到布隆过滤器的集合中时,通过K个hash函数将这个元素映射成为一个数组中的下标,并将数组下标所在的值设置为1。
在检索值是否存在时,只需要通过K次hash函数找到对应的坐标,并判断这些元素的值是否为1,
l若全部为1则有可能存在,
l若全为0则肯定不存在。
这里不列举布隆过滤器的数学公式,个人觉得对理解原理没有什么帮助。
4、设定错误率和预计存储数量。
布隆过滤器是有一定误差率的,如果我们对其存数值进行估计,尽量在设定存储数量时设置得大一点,这样就可能避免误判。
5、总结
事实上布隆过滤器的使用场景很多,也能解决或避免很多问题,如缓存穿透等,我们在使用它时,真正了解其优缺点,才能放心地使用,并通过优化尽量避免其缺点,从而发挥其较大价值。
6、延伸
布隆过滤器的缺点其一是对已经增加的值无法进行删除,那么有一个过滤器可以解决这个问题,那就是布谷鸟过滤器,功能几乎与布隆过滤器一致,但是布谷鸟过滤器是可以将已增加的元素进行删除。
尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/3849/news/396682/违者必究!
以上就是郑州达内IT教育培训机构 小编为您整理 什么是布隆过滤器的全部内容。