URL 在 Redis 之上进行过滤:布隆过滤器或 HyperLogLog 数据结构
URL filtering on top of Redis: Bloom filters or HyperLogLog data structure
我想在 Redis 数据库之上为分布式爬虫系统实现 URL 过滤(例如,不要访问同一个 URL 两次,所以我需要以某种方式持续跟踪所有这些使用最小的内存指纹,不需要存储完整的 URLs,只需检查是否访问了某些特定的 URL)。 Bloom 过滤器在这种情况下听起来不错,我看到了一个用于 Redis 的本地模块来实现 Bloom 过滤器。但它也有内置的 HyperLogLog 数据结构,所以我想知道在我的场景中哪个是更好的选择。
布隆过滤器与 HyperLogLog 完全不同。布隆过滤器用于检查是否有重复项,而 HyperLogLog 用于不同的计数。在您的情况下,您应该使用布隆过滤器。
另请参阅 以了解它们的差异。
我想在 Redis 数据库之上为分布式爬虫系统实现 URL 过滤(例如,不要访问同一个 URL 两次,所以我需要以某种方式持续跟踪所有这些使用最小的内存指纹,不需要存储完整的 URLs,只需检查是否访问了某些特定的 URL)。 Bloom 过滤器在这种情况下听起来不错,我看到了一个用于 Redis 的本地模块来实现 Bloom 过滤器。但它也有内置的 HyperLogLog 数据结构,所以我想知道在我的场景中哪个是更好的选择。
布隆过滤器与 HyperLogLog 完全不同。布隆过滤器用于检查是否有重复项,而 HyperLogLog 用于不同的计数。在您的情况下,您应该使用布隆过滤器。
另请参阅