布隆过滤器(Bloom Filter)
应用:大样本量的黑名单系统
优点:省内存
缺点:存在失误率
布隆过滤器的构成
布隆过滤器是由一个n位的大位图和m个hash函数构成,初始位图每位都为0。查看一个url是否在黑名单中时,首先通过m个hash函数算出url的m个hash值,如果位图中对应的m位都为1,则判断url在黑名单中,否则不再。把一个url加入到黑名单中时,首先通过m个hash函数算出url的m个hash值,再将位图中对应的每位都置为1。
因此布隆过滤器非常的省内存,但是存在一定的失误率,url属于黑名单,不会失误;url不属于黑名单,可能失误。