2023-02-26 15:58:47
布隆过滤器是一种空间效率极高的概率型数据结构,用于判断元素是否在集合中,存在一定误差率,即可能误判元素存在但实际不存在,但能确保元素不存在时一定判断正确。

空间效率高:相比其他数据结构,能以较小空间存储大量元素信息。
查询速度快:哈希计算和位数组检查操作简单,时间复杂度低。
存在误差:可能将不存在的元素误判为存在,误差率可通过调整参数控制。
布隆过滤器的执行过程如下:
布隆过滤器的使用场景如下:
在Redis中实现布隆过滤器的步骤如下:
克隆RedisBloom项目代码:
编译成功后,根目录会生成redisbloom.so文件。
启用RedisBloom插件
重新启动Redis服务,指定加载redisbloom.so插件,命令如下:
在Redis客户端中,使用BF.RESERVE命令创建布隆过滤器,设置名称、误差率和期望插入元素数量,示例如下:
此命令创建名为my_bloom_filter的布隆过滤器,误差率为1%,期望插入100000个元素。
添加元素到布隆过滤器
使用BF.ADD命令添加元素,示例如下:
此命令将元素leige添加到my_bloom_filter布隆过滤器中。
检查元素是否存在
使用BF.EXISTS命令检查元素是否存在,示例如下: