1、下载
我使用的版本是: RedisBloom-2.0.3.tar.gz-Java文档类资源-CSDN下载
githut下载地址:https://github.com/RedisBloom/RedisBloom
从ghithut下载,默认版本是:v2.2.15
把安装RedisBloom-master.zip包上传到服务器,解压后,执行make命令会报错:
[root@node05 RedisBloom-2.2.15]# make
cc -Wall -Wno-unused-function -g -ggdb -O2 -fPIC -D_GNU_SOURCE -I/home/soft/RedisBloom-2.2.15/contrib -I/home/soft/RedisBloom-2.2.15 -I/home/soft/RedisBloom-2.2.15/src -I/home/soft/RedisBloom-2.2.15/deps/t-digest-c/src -c -o /home/soft/RedisBloom-2.2.15/src/rebloom.o /home/soft/RedisBloom-2.2.15/src/rebloom.c
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFCheck_RedisCommand’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:207:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 2; ii < argc; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c:207:5: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘bfInsertCommon’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:243:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 0; ii < nitems && rv != -2; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFDebug_RedisCommand’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:390:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 0; ii < sb->nfilters; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘cfInsertCommon’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:582:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 0; ii < nitems; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘CFCheck_RedisCommand’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:715:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 2; ii < argc; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFCapacity’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:868:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 0; ii < bf->nfilters; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFSize’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:876:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 0; ii < bf->nfilters; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘CFSize’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:915:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (uint16_t ii = 0; ii < cf->numFilters; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFRdbSave’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:997:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 0; ii < sb->nfilters; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFRdbLoad’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:1036:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 0; ii < sb->nfilters; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFMemUsage’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:1081:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 0; ii < sb->nfilters; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘CFRdbSave’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:1102:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 0; ii < cf->numFilters; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘CFRdbLoad’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:1141:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 0, exp = 1; ii < cf->numFilters; ++ii, exp *= cf->expansion) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘CFMemUsage’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:1163:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (size_t ii = 0; ii < cf->numFilters; ++ii) {
^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘RedisModule_OnLoad’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:1221:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (int ii = 0; ii < argc; ii += 2) {
^
make: *** [/home/soft/RedisBloom-2.2.15/src/rebloom.o] 错误 1
[root@node05 RedisBloom-2.2.15]# clear
这可怎么办???网上查各种资料,都不知道怎么解决,只要换一个思路,就是换版本,使用:
RedisBloom-2.0.3.tar.gz,安装,成功了:
可以在githut上下载其他版本也可以:
2、安装
把生成的模块复制到redis安装目录
cp redisbloom.so /opt/redis5/
停止redis服务:
service redis_6379 stop
加载模块,redisbloom.so,一定要写绝对路径:
redis-server --loadmodule /opt/redis5/redisbloom.so
或者这个命令:
redis-server /etc/redis/6379.conf --loadmodule /opt/redis5/redisbloom.so