Redis上的URL过滤:Bloom过滤器或HyperLogLog数据结构

时间:2019-02-22 11:01:18

标签: redis bloom-filter hyperloglog

我想在Redis数据库之上为分布式爬网系统实现URL过滤(例如,不要两次访问相同的URL,因此我需要以某种方式以最少的内存指纹来跟踪所有这些URL,因此无需要存储完整的URL,只需检查是否已访问某些特定的URL)。在这种情况下,Bloom过滤器听起来很不错,我看到了Redis的本机模块实现Bloom过滤器。但是它也具有内置的HyperLogLog数据结构,因此我想知道哪种方案在我的方案中是更好的选择。

1 个答案:

答案 0 :(得分:1)

布鲁姆过滤器与HyperLogLog完全不同。布隆过滤器用于检查是否有重复的项目,而HyperLogLog用于计数。在这种情况下,您应该使用Bloom过滤器。

另请参见this question