RedisBloom 是一个 Redis 模块,它提供了一种高效的方式来存储和检索大数据集中的数据,如实现布隆过滤器。下面是如何安装 RedisBloom 的步骤。
1. 下载RedisBloom
下载地址:https://github.com/RedisBloom/RedisBloom/releases
找到自己安装 Redis 服务对应版本进行下载,可使用 info
命令查看 redis 版本:
127.0.0.1:6379> info
# Server
redis_version:6.2.7
本机使用的 redis 版本为 6.2.7,需要安装 2.4.x 版本的 RedisBloom 即可。
Linux下执行以下命令下载:
wget https://github.com/RedisBloom/RedisBloom/archive/refs/tags/v2.4.5.tar.gz
2. 安装RedisBloom
安装RedisBloom,需要有以下要求:
# Make 4.0+
make -v
# gcc 9以下
gcc -v
# Python3
python3 -v
执行以下命令进行解压缩:
# 解压缩
tar -zxvf RedisBloom-2.4.5.tar.gz
# 进入到解压目录
cd RedisBloom-2.4.5
执行以下命令进行安装:
./sbin/setup
make
执行 ./sbin/setup
报如下错误:
[root@hecs-393332 RedisBloom-2.4.5]# ./sbin/setup
./sbin/setup: line 7: /root/projects/RedisBloom-2.4.5/deps/readies/shibumi/defs: No such file or directory
./sbin/setup: line 11: /root/projects/RedisBloom-2.4.5/deps/readies/bin/getpy3: No such file or directory
./sbin/setup: line 12: get_profile_d: command not found
Traceback (most recent call last):
File "/root/projects/RedisBloom-2.4.5/sbin/system-setup.py", line 11, in <module>
import paella
ModuleNotFoundError: No module named 'paella'
Paella 是一个 Python 库,它是 RedisBloom 模块的依赖项。错误信息表明,Python 解释器无法找到 Paella 库。要解决这个问题,你需要安装 Paella 库。
# python3安装Paella
pip3 install paella
# yum安装
sudo yum install python-paella
重新安装,得到下面文件 redisbloom.so
文件,可复制到 /usr/local/lib/redis/modules/
下,并赋予执行权限。
[root RedisBloom-2.4.5]# cp redisbloom.so /usr/local/lib/redis/modules/redisbloom.so
[root RedisBloom-2.4.5]# chmod +x /usr/local/lib/redis/modules/redisbloom.so
3. Redis 安装RedisBloom
方法 1:使用 Redis 模块安装
如果你已经安装了 Redis 6.0 或更高版本,你可以使用以下命令来安装 RedisBloom 模块:
[root RedisBloom-2.4.5]# redis-cli MODULE LOAD /path/to/redisbloom.so
OK
其中 /path/to/redisbloom.so
是 RedisBloom 模块的路径,本机为 /usr/local/lib/redis/modules/redisbloom.so
,如果 redis 需要密码可以添加 -a <password>
。
安装失败可以以查看 redis 服务日志查看原因:
4. 验证是否安装成功
安装成功后,试试如下布隆过滤器的命令:
- bf.add 添加一个元素
- bf.exists 判断一个元素是否存在
- bf.madd 添加多个元素
- bf.mexists 判断多个元素是否存在
5. 其他安装方法
5.1 使用 Docker 安装 RedisBloom
使用 Docker 是一种更加简便的方式,官方提供了集成 RedisBloom 的 Docker 镜像。Docker 镜像拉不下可参考这篇文章目前国内可用Docker镜像源汇总。
docker run -d --name redis-redisbloom -p 6379:6379 redislabs/rebloom:latest
5.2 通过 RedisStack 安装
RedisStack 是 Redis 官方推出的集成版,除了 Redis 核心功能,还集成了 RedisBloom 等多个模块。你可以直接使用 RedisStack 来避免单独安装插件。
docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack:latest