请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

布隆过滤器

输入正文最近突发奇想,想测试下布隆过滤器,感觉URL量变大之后,存储真的好慢啊

然后还会报这个错误:

Traceback (most recent call last):

  File "D:/pyworkSpace/ENV/scrapy/Scripts/article_spider/article_spider/utils/bloomfilter.py", line 87, in <module>

    if not bf.is_exist(test_url):

  File "D:/pyworkSpace/ENV/scrapy/Scripts/article_spider/article_spider/utils/bloomfilter.py", line 47, in is_exist

    name = self.key + "_" + str(ord(value[0]) % self.blocknum)

IndexError: string index out of range


正在回答

2回答

bobby 2019-04-26 08:59:42

这个异常和数据大小没有关系,为了解决这个问题你最好先看一下这个异常出现的地方,debug一下是哪个地方出问题了

0 回复 有任何疑惑可以回复我~
  • 提问者 黎明的烬 #1
    就是这个问题已经解决啦,谢谢老师、但是我发现在存储100万条URL真的会消耗很长时间,而且最后之后没插入一条url的时间居然比用redis集合耗费的时间还多…不知道是为什么~
    回复 有任何疑惑可以回复我~ 2019-04-26 09:02:41
  • bobby 回复 提问者 黎明的烬 #2
    你说的插入是插入到数据库慢还是插入到布隆过滤器慢呢
    回复 有任何疑惑可以回复我~ 2019-04-27 15:29:52
  • 提问者 黎明的烬 回复 bobby #3
    对,就是调用布隆过滤器的add方法添加,没有用is_exist进行判断,  我用的Redis set和布隆过滤器插入url   发现布隆过滤器需要半个小时,Redis的set 1min内可以结束
    回复 有任何疑惑可以回复我~ 2019-04-27 15:32:31
提问者 黎明的烬 2019-05-01 12:34:15

布隆过滤器

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信