Redis安装RedisBloom插件

CoderJia 70 2024-10-06

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