老师:关于boolmfilter的问题

来源:10-9 集成bloomfilter到scrapy-redis中

慕粉1724417796

2017-06-05

源代码中

            hash = mmh3.hash(value, seed)

            if hash >= 0:

                hashs.append(hash)

            else:

                hashs.append(self.N - hash)

这里不是可以直接取绝对值吗?

干嘛要这样写?这样写的话改小capacity是没有用的,这里会增加self.N大小的内存

写回答

2回答

慕粉1724417796

提问者

2017-06-08

我意思是直接取hash的绝对值,如果用self.N-hash这种,就相当于增加了slef.N

0
1
bobby
你可以看这篇文章了解一下 http://liuliqiang.info/post/150/ 这种哈希函数的介绍
2017-06-09
共1条回复

bobby

2017-06-07

你说的是self.N 改成绝对值吗? 这个只是一种写法 一般不建议把绝对值写到代码中 如果这个值多个地方用到了 一旦修改起来就会到各个地方修改 这个就是类似c语言中声明的const变量一样

0
0

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5795 学习 · 6290 问题

查看课程