34 布隆过滤器
Posted cathy_mu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了34 布隆过滤器相关的知识,希望对你有一定的参考价值。
什么是布隆过滤器
一种检测元素是否在给定大集合中的数据结构。是一个位数组。元素只能是1或0。性能好,但不容易删除,有一定错误率,集合越大错误率越高。
如何使用布隆过滤器
布隆过滤器有多个哈希函数,将元素放入过滤器时,用这几个哈希函数求元素hash值,然后将对应的位置为1,。
检测元素是否存在时,用这几个哈希函数对元素求哈希值,然后检测对应的位置是否为1。
因此布隆过滤器说某个元素存在,可能会误判,但说某个元素不在,那肯定不在。
布隆过滤器应用场景
- 判断元素是否存在与海量数据集里/去重
- 防缓存穿透
将数据制成布隆过滤器,如果缓存里没有请求数据,先看看布隆过滤器里是否有请求数据,如果没有就不用请求数据库直接返回,如果有可以先把数据放到缓存里,也不用请求数据库。 - 垃圾邮件过滤和黑名单
以上是关于34 布隆过滤器的主要内容,如果未能解决你的问题,请参考以下文章