一、将访问过的url保存到数据库中。(效率很是低)数据库
二、将访问过的url保存到set中,只须要o(1)的代价就能够查询url。(内存占用大)(1亿条url占用6个G)scrapy
三、url通过md5等方法哈希后保存到set中(md5压缩url,下降内存) (scrapy使用的去重相似这种,1亿条url占用1个G)函数
四、用bitmap,将访问过的url经过hash函数映射到某一位。(经过0 1来判断,可是可能会发生冲突,多个url可能会映射到同一位)url
五、bloomfilter方法对bitmap进行改进,多重hash函数下降冲突的可能性(1亿条url只占用12M左右)内存