109. Python语言 的 项目前导(上) 之 Redis 第十章 :Redis 的 布隆过滤器

56 篇文章 0 订阅
15 篇文章 0 订阅
本文介绍了在Redis 4.0及以上版本中如何通过扩展模块启用布隆过滤器,以解决海量数据中查询元素是否存在的问题。通过编译安装redisbloom.so文件并加载到Redis服务器,然后使用bf.add等命令验证其正常工作。布隆过滤器提供了高效的空间效率,但可能有误判率。
摘要由CSDN通过智能技术生成

本章主题

  

关键词

  

Redis 的 布隆过滤器

  我们前面有讲到过 HyperLogLog 可以用来做基数统计,但它没提供判断一个值是否存在的查询方法,那我们如何才能查询一个值是否存在于海量数据之中呢?

  如果使用传统的方式,例如 SQL 中的传统查询,因为数据量太多,查询效率又低有占用系统的资源,因此我们需要一个优秀的算法和功能来实现这个需求,这是我们今天要讲的——布隆过滤器。

  开启布隆过滤器 在 Redis 中不能直接使用布隆过滤器,但我们可以通过 Redis 4.0 版本之后提供的 modules(扩展模块)的方式引入,本文提供两种方式的开启方式。

  

编译方式

  下载并安装布隆过滤器

git clone https://github.com/RedisLabsModules/redisbloom.git
cd redisbloom
make # 编译redisbloom

  编译正常执行完,会在根目录生成一个 redisbloom.so 文件。

  启动 Redis 服务器

> ./src/redis-server redis.conf --loadmodule ./src/modules/RedisBloom-master/redisbloom.so

  其中 --loadmodule 为加载扩展模块的意思,后面跟的是 redisbloom.so 文件的目录。

  

启动验证

  服务启动之后,我们需要判断布隆过滤器是否正常开启,此时我们只需使用 redis-cli 连接到服务端,输入 bf.add 看有没有命令提示,就可以判断是否正常启动了,如下图所示:

在这里插入图片描述

  如果有命令提示则表名 Redis 服务器已经开启了布隆过滤器。

布隆过滤器的使用 布隆过滤器的命令不是很多,主要包含以下几个:

  • bf.add:添加元素
  • bf.exists:判断某个元素是否存在
  • bf.madd:添加多个元素
  • bf.mexists:判断多个元素是否存在
  • bf.reserve:设置布隆过滤器的准确率

  

总结小便条

本篇文章主要讲了以下几点内容:

  

  本章回顾暂时就到这了,如果还有点晕,那就把文章里所有引用的案例代码再敲几遍吧。拜拜~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值