redis 扩展模块下载列表:https://redis.io/resources/modules/
一、环境要求
- 最低 4.x 版本,可以通过如下命令查看版本:
[root@localhost /]# redis-cli
127.0.0.1:6379> info
# Server
redis_version:7.0.5
redis_git_sha1:00000000
redis_git_dirty:0
二、下载代码并编译
插件下载地址:https://github.com/RedisBloom/RedisBloom/tags
这里看到 RedisBloom 最新版已更新到 v2.4.5 版本,由于我虚拟机环境编译 v2.4.5 版本编译失败
[root@localhost RedisBloom-2.4.5]# make
Makefile:4: deps/readies/mk/main: 没有那个文件或目录
Makefile:150: /defs: 没有那个文件或目录
Makefile:177: /rules: 没有那个文件或目录
make: *** 没有规则可以创建目标“/rules”。停止。
故示例以 v2.2.18 版本为例。
v2.2.18 版下载链接:https://github.com/RedisBloom/RedisBloom/archive/refs/tags/v2.2.18.tar.gz
下载文件
wget https://github.com/RedisBloom/RedisBloom/archive/refs/tags/v2.2.18.tar.gz
解压文件
tar -zxvf v2.2.18.tar.gz
进入解压目录并编译文件
cd RedisBloom-2.2.18/
make
编译成功后看到 redisbloom.so 文件即可
三、安装扩展模块到 Redis
Redis 配置文件修改
在 redis.conf 配置文件中加入如 RedisBloom 的 redisbloom.so 文件的地址
如果是集群则每个配置文件中都需要加入 redisbloom.so 文件的地址
添加完成后需要重启 redis
loadmodule /usr/local/soft/RedisBloom-2.2.18/redisbloom.so
redis.conf 配置文件中预置了 loadmodule 的配置项,我们可以直接在这里修改,后续修改会更加方便。
宝塔面板的 redis 配置文件路径地址 /www/server/redis/redis.conf
保存退出后一定要记得重启 Redis!
四、基本命令
布隆过滤器操作相关的基本命令有 4 个:
bf.add key …options… 一次添加一个元素。
127.0.0.1:6379> bf.add bloom1 1
1
bf.madd key …options… 一次添加多个元素。
127.0.0.1:6379> bf.madd bloom1 1 2 3
1
bf.exists key …options… 查询元素是否存在。
127.0.0.1:6379> bf.exists bloom1 1
1
bf.mexists key …options… 一次查询多个元素是否存在。
127.0.0.1:6379> bf.mexists bloom1 2 3
1
可以通过 bf.reserve 命令来调整布隆过滤器的准确率:
127.0.0.1:6379> bf.reserve bloom1 0.01 100
1
第一个参数 bloom1 是布隆过滤器的名字(自定义);
第二个参数 0.01 是 error_rate,允许布隆过滤器的错误率,这个值越低过滤器的位数组的大小越大,占用空间也就越大。
第三个参数 100 是 initial_size,布隆过滤器可以储存的元素个数,当实际存储的元素个数超过这个值之后,过滤器的准确率会下降。
注意必须在 add 之前使用 bf.reserve 指令显式创建,如果对应的 key 已经存在,bf.reserve 会报错。同时设置的错误率越低,需要的空间越大。如果不使用 bf.reserve,默认的 error_rate 是 0.01,默认的 initial_size 是 100。
参考链接:https://blog.csdn.net/qq_41125219/article/details/119972808