布隆过滤器及解决缓存穿透

我的理解:
布隆过滤器及解决缓存穿透

  • 首先它是一个bit数组结构,数组中的数据不是0就是 1
  • 我们对key会进行2到多次的hash函数计数,将计算到的值对应的数组中的节点改为1
    • 为什么要进行多个hash计算而不用一个?为了让数组长度更短
  • 比如百度是计算的1,4,7;腾讯计算出来1,5,8;其中1就会被覆盖;
  • 我们搜索阿里,计算出阿里的hash值是2,4,5;但是由于2是0,所以阿里这个数据一定不存在,4和5虽然是1但可能是其他数据覆盖的
  • 如果搜索头条,算出的hash值是4,5,8;虽然值都是1,但是我们也只能说头条这个数据可能存在,而不是一定存在

https://www.jianshu.com/p/2104d11ee0a2