03: redis高级

1.1 布隆过滤器  

  1、布隆过滤器-理论

      1. 其实布隆过滤器可以看成是一个不是很准确的set结构,只是在使用它的contains方法判断某个对象是否存在时会出现误判。

      2. 当布隆过滤器说某个值存在时,那可能就不存在,如果说某个值不存在时,那肯定就是不存在了。

  2、应用场景

    1)场景1(给用户推荐新闻)

        1. 当用户看过的新闻,肯定会被过滤掉,对于没有看多的新闻,可能会过滤极少的一部分(误判)。

        2. 这样可以完全保证推送给用户的新闻都是无重复的。

    2)场景2(爬虫url去重)

        1. 在爬虫系统中,我们需要对url去重,已经爬取的页面不再爬取

        2. 当url高达几千万时,如果一个集合去装下这些URL地址非常浪费空间

        3. 使用布隆过滤器可以大幅降低去重存储消耗,只不过也会使爬虫系统错过少量页面

  3、布隆过滤器应用

      1. 布隆过滤器在NoSQL数据库领域中应用的非常广泛

      2. 布隆过滤器可以显著降低数据库IO请求数量,当内存

猜你喜欢

转载自www.cnblogs.com/xiaonq/p/11586565.html
今日推荐