布隆过滤器

作用

  • 大数据判断是否存在(有误差)
  • 解决缓存穿透:请求时先查询缓存,而不用直接读取数据库
  • 判断垃圾邮件

原理

当一个元素被加入集合时,通过K个散列函数将这个元素映射成一个位数组中的K个点,把它们置为1。检索时,我们只要看看这些点是不是都是1就(大约)知道集合中有没有它了:如果这些点有任何一个0,则被检元素一定不在;如果都是1,则被检元素很可能在。

https://tva1.sinaimg.cn/large/007S8ZIlly1gizdkdzezwj31cu0q8kbj.jpg