快取問題(二) 布隆過濾器(Bloom Filter) 介紹和原理

Crzayliyang-架構Young發表於2020-11-10

程式碼地址: https://gitee.com/crazyliyang/video-teaching.git
視訊地址: https://www.bilibili.com/video/BV1Ha411c7hB

 

1. 什麼情況下需要布隆過濾器?

先來看幾個比較常見的例子

  • 檢查一個使用者是否在白名單中
  • 在 FBI,一個嫌疑人的名字是否已經在嫌疑名單上
  • 在網路爬蟲裡,一個網址是否被訪問過
  • yahoo, gmail等郵箱垃圾郵件過濾功能

這幾個例子有一個共同的特點: 如何判斷一個元素是否存在一個集合中?

 

 

2. 雜湊函式  Hash Function

001-boof.png

 

3.布隆過濾器

 

002-bbof.png

 

 

4.總結:

 

布隆過濾器判斷   不存在   準確率100%

布隆過濾器判斷   存在      準確率不是100%,  也就是說存在誤差, 不準確, 由過濾器的誤判率 fpp設定調節

 

布隆過濾器 可以判斷某樣東西 一定不存在  

或者  

布隆過濾器 可以判斷某樣東西 可能存在

相關文章