布隆过滤器和 set

towboat / 2024-10-23 / 原文

用于查询集合中是否有某个元素

 

布隆过滤器的优点

  1. 空间效率高

    • 布隆过滤器是一种基于位数组和多个哈希函数的数据结构。相对于 Redis 的 Set(基于哈希表实现),布隆过滤器在存储大量元素时,占用的空间更少
    • 当存储非常庞大的数据集时,布隆过滤器能够显著减少内存占用,比如在内存受限或者数据量极大的场景下表现良好。
  2. 查询效率高

    • 布隆过滤器的查询效率非常高,因为它只需要通过几个哈希函数检查位数组中的几个位置来判断元素是否存在。这种方式的时间复杂度为 O(k),其中 k 是哈希函数的个数,通常远小于 Redis Set 的查询开销。