Redis------布隆过滤器

布隆过滤器是一种用于海量数据去重的高效工具,它可以节省90%以上空间,但有约1%的误判率。在Redis中,布隆过滤器常用于爬虫系统的URL去重,避免重复抓取页面,以及垃圾邮件过滤等场景。其工作原理包括使用多个哈希函数将元素映射到位数组并设置位,判断元素存在时则检查对应位是否全为1。安装布隆过滤器可以通过Docker或者下载安装包进行。
摘要由CSDN通过智能技术生成

布隆过滤器

  • 作为插件加载到redis服务器里

  • 对海量数据去重功能,空间上节省90%以上,但是去重率在99%左右

  • 应用场景:1)百度爬虫系统面对海量的已经抓取过的url数据,如何抓取最新的页面,而对没更新过的页面不爬取,使用set集合也可以去重,但是使用的空间资源过大。2)垃圾邮件过滤

  • 工作原理
    1)添加元素:bf.madd spider:url www.taobao.com www.123qq.com www,maomao.com
    spider:url---->key,同时添加多个元素到布隆过滤器
    首先,使用不同的hash函数对key存储的元素进行哈希计算,根据计算到的每一个哈希值对其计算出一个整数索引值,用这个索引值和位数组(初始都为0)长度取余,最终得到一个数组位置,并将其置位一,每一个哈希函数会得到一个不同的位置。
    注意:有两个元素可能会使同一个位数组置为1
    2)判定元素是否存在
    bf.mexists spider:url www.maomao.com www.pengyu.com
    //同时判断是否有多个元素存在于布隆过滤器,去掉m,即可判断一个元素
    流程:首先对元素再执行一次哈希计算,得到与添加元素时相同的数组位置,如果这几个位置全为1,则有可能存在,若有有一个为0,则肯定不存在。

  • 布隆过滤器的安装
    1)通过docker安装
    2)下载布隆过滤器安装包,编译安装;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值