布隆过滤器安装、配置、使用

发布时间:2024年01月19日

布隆过滤器安装、配置、使用

什么是布隆过滤器:

布隆过滤器
全名(Bloom Filter)是1970年由布隆提出。 它实际上是一个很好的二进制向量(数据存在内存中)一系列随机映射的函数(Hash函数)
布隆过滤器可以用于检索一个元素释放在一个集合中,(你可以理解为一个:不怎么精确的set(去重)结构,就是用于过滤数据释放重复的一种数据结构);

优点是:空间效率和查询时间都比一般的算法要好的多(极小的内存存储海量数据)。
缺点是:有一定的误识别率和删除困难(严格的业务情况使用Redis的set

特点
1)一个元素如果在布隆过滤器里判定结果为不存在,则一定不存在
2)一个元素在布隆过滤器里判定结果存在,则不一定存在(原理hello和你好的二级制数计算出来是一样的情况),
3)布隆过滤器可以添加元素,但是不能删除元素,删除元素会导致误判率增加
4)误判只会发生在过滤器没有添加过的元素,对于已经添加过的元素不会发生误判

语法
BF.RESERVE {key} {error_rate} {capacity}(注释:这个可以看做定义一个集合)
参数解释:
key:布隆过滤器的名称。
error_rate:错误率,允许布隆过滤器的错误率。这个值越低。过滤器的位数组的大小越大,占用空间也就越大。
capacity:存储的元素个数,当实际存储的元素个数超过这个值之后,过滤器的准确率会下降。

创建布隆过滤器diyName,错误率为0.01,容量为100:

BF.RESERVE diyName 0.01 100

往布隆过滤器diyName添加元素1:

bf.add diyName 1

布隆过滤器查询元素是否存在:存在返回1,不存在返回0

bf.exists diyName 1

一次添加多个元素:

bf.madd diyName 2 3

一次查询多个元素是否存在:

bf.mexists diyName 1 2 3 4 6

布隆过滤器的安装(只能在Linux系统安装):

准备工作:提前安装好Redis(一般都是集群,redis版本5.0.0以上)

Linux下载布隆过滤器安装包:

wget https://github.com/RedisBloom/RedisBloom/archive/refs/tags/v2.0.3.tar.gz 

解压:

tar -zxvf v2.0.3.tar.gz

进入解压后的文件 + 执行插件编译代码:(成功后看到一个.so文件即编译成功

cd RedisBloom-2.0.3
make

Redis配置使用布隆过滤器:

在redis的配置文件(redis.conf)中添加 布隆过滤器模块redis集群每个配置文件都需要加入这一行

[root@localhost /]# vim tools/redis-5.0.4/redis.conf
loadmodule /tools/RedisBloom-2.0.3/redisbloom.so

添加完配置后重启redis (切记一定要把上一次的服务停止掉,在重启):
在这里插入图片描述
查看Redis进程:

ps -ef|grep redis

关闭Redis进程:

kill 95872(redis的进程id)

必须更新redis的配置文件,光重启redis是不够的

./src/redis-server ./redis.conf(进入到redis的src的上一级)

最后重启Redis服务:

redis-server(配置了redis环境变量则必须在跟目录)
文章来源:https://blog.csdn.net/qq_58326706/article/details/135662671
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。