redis的安装及布隆过滤器安装

本文使用的是vmware+centos7。

一、准备工作

1.建立目录,用于存放redis数据与配置文件,也可以自行设置目录。

[root@localhost 6380]# pwd
/usr/local/software/redis/6380

2.6380指本次配置redis的端口号,如果采用默认的6379可创建为6379。在6380下创建data与conf目录,分别用于存放redis数据与配置文件。

[root@localhost 6380]# mkdir data
[root@localhost 6380]# mkdir conf
[root@localhost 6380]# ls
conf  data

3.在conf中上传redis配置文件,这里自行获取

[root@localhost conf]# ls
redis.conf

至此完成安装redis的准备工作。

二、安装redis

1.创建容器

[root@localhost conf]# docker run -it \
> --name redis_6380 \
> --privileged \
> -p 6380:6379 \
> --network [你的网络连接名称] \
> --ip 172.18.12.10 \
> --sysctl net.core.somaxconn=1024 \
> -e TIME_ZONE="Asia/Shanghai" -e TZ="Asia/Shanghai" \
> -v /usr/local/software/redis/6380/conf/redis.conf:/usr/local/etc/redis/redis.conf \
> -v /usr/local/software/redis/6380/data/:/data \
> -d redis \
> /usr/local/etc/redis/redis.conf
1075c6ba017c95b4a677fa612c1746d199ebe47319a3ebd4ca4c6e05c520b42b

2.查看日志

[root@localhost conf]# docker logs redis_6380
1:C 18 Jan 2024 19:54:08.818 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 18 Jan 2024 19:54:08.818 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 18 Jan 2024 19:54:08.818 # Configuration loaded
1:M 18 Jan 2024 19:54:08.818 * monotonic clock: POSIX clock_gettime
1:M 18 Jan 2024 19:54:08.819 # Warning: Could not create server TCP listening socket ::1:6379: bind: Cannot assign requested address
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 6.2.6 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                  
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 1
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           https://redis.io       
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

1:M 18 Jan 2024 19:54:08.819 # Server initialized

至此安装完成。

三、安装插件

1.下载插件

[root@localhost 6380]# wget https://github.com/RedisBloom/RedisBloom/archive/v2.2.4.tar.gz
--2024-01-18 19:59:49--  https://github.com/RedisBloom/RedisBloom/archive/v2.2.4.tar.gz
正在解析主机 github.com (github.com)... 20.205.243.166
正在连接 github.com (github.com)|20.205.243.166|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:https://codeload.github.com/RedisBloom/RedisBloom/tar.gz/refs/tags/v2.2.4 [跟随至新的 URL]
--2024-01-18 19:59:50--  https://codeload.github.com/RedisBloom/RedisBloom/tar.gz/refs/tags/v2.2.4
正在解析主机 codeload.github.com (codeload.github.com)... 20.205.243.165
正在连接 codeload.github.com (codeload.github.com)|20.205.243.165|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:未指定 [application/x-gzip]
正在保存至: “v2.2.4.tar.gz”

    [  <=>                                     ] 84,680       369KB/s 用时 0.2s   

2024-01-18 19:59:51 (369 KB/s) - “v2.2.4.tar.gz” 已保存 [84680]

[root@localhost 6380]# ls
conf  data  v2.2.4.tar.gz

2.解压

[root@localhost 6380]# tar -zxvf v2.2.4.tar.gz
RedisBloom-2.2.4/
RedisBloom-2.2.4/.circleci/
RedisBloom-2.2.4/.circleci/codecov.yml
RedisBloom-2.2.4/.circleci/config.yml
RedisBloom-2.2.4/.clang-format
RedisBloom-2.2.4/.github/
RedisBloom-2.2.4/.github/workflows/
RedisBloom-2.2.4/.github/workflows/deploy-docs.yaml
RedisBloom-2.2.4/.gitignore
RedisBloom-2.2.4/Dockerfile
RedisBloom-2.2.4/LICENSE
RedisBloom-2.2.4/Makefile
RedisBloom-2.2.4/README.md
RedisBloom-2.2.4/changelog
RedisBloom-2.2.4/contrib/
RedisBloom-2.2.4/contrib/MurmurHash2.c
RedisBloom-2.2.4/contrib/bloom.c
RedisBloom-2.2.4/contrib/bloom.h
RedisBloom-2.2.4/contrib/murmurhash2.h
RedisBloom-2.2.4/docs/
RedisBloom-2.2.4/docs/Bloom_Commands.md
RedisBloom-2.2.4/docs/Configuration.md
RedisBloom-2.2.4/docs/CountMinSketch_Commands.md
RedisBloom-2.2.4/docs/Cuckoo_Commands.md
RedisBloom-2.2.4/docs/Quick_Start.md
RedisBloom-2.2.4/docs/TopK_Commands.md
RedisBloom-2.2.4/docs/contrib.md
RedisBloom-2.2.4/docs/images/
RedisBloom-2.2.4/docs/images/favicon.png
RedisBloom-2.2.4/docs/images/logo.svg
RedisBloom-2.2.4/docs/images/logo_small.png
RedisBloom-2.2.4/docs/index.md
RedisBloom-2.2.4/docs/requirements.txt
RedisBloom-2.2.4/mkdocs.yml
RedisBloom-2.2.4/ramp.yml
RedisBloom-2.2.4/rmutil/
RedisBloom-2.2.4/rmutil/util.c
RedisBloom-2.2.4/rmutil/util.h
RedisBloom-2.2.4/src/
RedisBloom-2.2.4/src/.clang-format
RedisBloom-2.2.4/src/cf.c
RedisBloom-2.2.4/src/cf.h
RedisBloom-2.2.4/src/cms.c
RedisBloom-2.2.4/src/cms.h
RedisBloom-2.2.4/src/cuckoo.c
RedisBloom-2.2.4/src/cuckoo.h
RedisBloom-2.2.4/src/print_version.c
RedisBloom-2.2.4/src/rebloom.c
RedisBloom-2.2.4/src/redismodule.h
RedisBloom-2.2.4/src/rm_cms.c
RedisBloom-2.2.4/src/rm_cms.h
RedisBloom-2.2.4/src/rm_topk.c
RedisBloom-2.2.4/src/rm_topk.h
RedisBloom-2.2.4/src/sb.c
RedisBloom-2.2.4/src/sb.h
RedisBloom-2.2.4/src/study.c
RedisBloom-2.2.4/src/studybloomcms.c
RedisBloom-2.2.4/src/topk.c
RedisBloom-2.2.4/src/topk.h
RedisBloom-2.2.4/src/version.h
RedisBloom-2.2.4/tests/
RedisBloom-2.2.4/tests/Makefile
RedisBloom-2.2.4/tests/benchmark.py
RedisBloom-2.2.4/tests/cf_compact.py
RedisBloom-2.2.4/tests/cms.py
RedisBloom-2.2.4/tests/cuckoo.py
RedisBloom-2.2.4/tests/init_test.py
RedisBloom-2.2.4/tests/pytests.py
RedisBloom-2.2.4/tests/test-basic.c
RedisBloom-2.2.4/tests/test-bf-error-rate.py
RedisBloom-2.2.4/tests/test-cuckoo.c
RedisBloom-2.2.4/tests/test-perf.c
RedisBloom-2.2.4/tests/test.h
RedisBloom-2.2.4/tests/test_cms.c
RedisBloom-2.2.4/tests/test_topk.c
RedisBloom-2.2.4/tests/topk.py

3.安装gcc(如果已安装则跳过)

[root@localhost 6380]# yum -y install gcc

4.构建项目

[root@localhost 6380]# ls
conf  data  RedisBloom-2.2.4  v2.2.4.tar.gz
[root@localhost 6380]# cd RedisBloom-2.2.4/
[root@localhost RedisBloom-2.2.4]# make
gcc  -Wall -Wno-unused-function -g -ggdb -O2 -fPIC -std=gnu99 -D_GNU_SOURCE -I/usr/local/software/redis/6380/RedisBloom-2.2.4 -I/usr/local/software/redis/6380/RedisBloom-2.2.4/contrib  -c -o /usr/local/software/redis/6380/RedisBloom-2.2.4/src/rebloom.o /usr/local/software/redis/6380/RedisBloom-2.2.4/src/rebloom.c
gcc  -Wall -Wno-unused-function -g -ggdb -O2 -fPIC -std=gnu99 -D_GNU_SOURCE -I/usr/local/software/redis/6380/RedisBloom-2.2.4 -I/usr/local/software/redis/6380/RedisBloom-2.2.4/contrib  -c -o /usr/local/software/redis/6380/RedisBloom-2.2.4/contrib/MurmurHash2.o /usr/local/software/redis/6380/RedisBloom-2.2.4/contrib/MurmurHash2.c
gcc  -Wall -Wno-unused-function -g -ggdb -O2 -fPIC -std=gnu99 -D_GNU_SOURCE -I/usr/local/software/redis/6380/RedisBloom-2.2.4 -I/usr/local/software/redis/6380/RedisBloom-2.2.4/contrib  -c -o /usr/local/software/redis/6380/RedisBloom-2.2.4/rmutil/util.o /usr/local/software/redis/6380/RedisBloom-2.2.4/rmutil/util.c
gcc  -Wall -Wno-unused-function -g -ggdb -O2 -fPIC -std=gnu99 -D_GNU_SOURCE -I/usr/local/software/redis/6380/RedisBloom-2.2.4 -I/usr/local/software/redis/6380/RedisBloom-2.2.4/contrib  -c -o /usr/local/software/redis/6380/RedisBloom-2.2.4/src/sb.o /usr/local/software/redis/6380/RedisBloom-2.2.4/src/sb.c

5.将redisbloom.so拷贝到容器

[root@localhost RedisBloom-2.2.4]# docker cp redisbloom.so redis_6380:/usr/local/etc/redis
                                             Successfully copied 334kB to redis_6380:/usr/local/etc/redis

6.添加redisbloom.so到MODULES模块

[root@localhost RedisBloom-2.2.4]# cd ..
[root@localhost 6380]# cd conf
[root@localhost conf]# ls
redis.conf
[root@localhost conf]# vim redis.conf 

在图示位置添加一行代码:

################################## MODULES #####################################

# Load modules at startup. If the server is not able to load modules
# it will abort. It is possible to use multiple loadmodule directives.
#
# loadmodule /path/to/my_module.so
# loadmodule /path/to/other_module.so
loadmodule /usr/local/etc/redis/redisbloom.so

7.允许远程访问redis,继续往下翻,找到这行代码:

修改为:

bind 0.0.0.0

保存并退出

8.重启redis,并查看日志:

[root@localhost conf]# docker restart redis_6380
redis_6380
[root@localhost conf]# docker logs redis_6380


可以看到日志结尾多了以下内容,证明插件安装完毕:

1:M 18 Jan 2024 20:18:24.684 * Module 'bf' loaded from /usr/local/etc/redis/redisbloom.so
1:M 18 Jan 2024 20:18:24.684 * Loading RDB produced by version 6.2.6
1:M 18 Jan 2024 20:18:24.684 * RDB age 0 seconds
1:M 18 Jan 2024 20:18:24.684 * RDB memory usage when created 0.77 Mb
1:M 18 Jan 2024 20:18:24.684 # Done loading RDB, keys loaded: 0, keys expired: 0.
1:M 18 Jan 2024 20:18:24.684 * DB loaded from disk: 0.000 seconds
1:M 18 Jan 2024 20:18:24.684 * Ready to accept connections

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值