判斷給定數(shù)據(jù)是否存在:比如判斷一個數(shù)字是否在包含大量數(shù)字的數(shù)字集中娘锁、 防止緩存穿透(判斷請求的數(shù)據(jù)是否有效避免直接繞過緩存請求數(shù)據(jù)庫)等等歌殃、郵箱的垃圾郵件過濾舆吮、黑名單功能等等;
去重:比如爬給定網(wǎng)址的時候?qū)σ呀?jīng)爬取過的 URL 去重不狮。
下面,我們再來看看如果想要手動實現(xiàn)一個的話在旱,那么需要以下幾步:
- 合適大小的位數(shù)組保存數(shù)據(jù)
- 幾個不同的哈希函數(shù)
- 添加元素到位數(shù)組(布隆過濾器)的方法實現(xiàn)
- 判斷給定元素是否存在于位數(shù)組(布隆過濾器)的方法實現(xiàn)摇零。