前言
网上一搜一大把的Linux安装部署Redis的文章,可谓鱼龙混杂各种失败的情况。就此记录一下超详细的笔记。
- Redis版本 5.0.7
- 服务器版本 Alibaba Cloud Linux 2.1903 LTS 64位
下载Redis
可先进入官网,下载地址:
https://redis.io/download
右键Download按钮,选择复制链接。
进入linux控制台(默认当前是root根目录),输入wget 将上面复制的下载链接粘贴上,如下命令:
wget http://download.redis.io/releases/redis-5.0.14.tar.gz
解压并安装Redis
tar -zvxf redis-5.0.14.tar.gz
本人习惯将组件都安装在固定目录,以opt为例。(网上大部分都会拷贝到/usr/local中进行操作,因人而异)
编译
进入到redis文件夹中,输入命令make执行编译命令。
make
安装
make PREFIX=/opt/redis-5.0.7 install
这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/opt/redis-5.0.7 目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录。
src目录没有redis-server文件如下操作
1.yum install gcc
2.make MALLOC=libc
3.如果期间报错,可参考https://www.cnbugs.com/post-1833.html
修改配置文件
vim redis.conf
将bind 127.0.0.1注释,这个会只能本机访问
进入redis控制台:./redis-cli
设置密码:config set requirepass “yourpassword”
控制台密码登录:auth “yourpassword”
启动
nohup ./bin/redis-server ./redis.conf &
./bin/redis-server ./redis.conf
两种启动方式,第一种采用后台进程方式,第二种采用显示启动方式(如果在配置文件中设置daemonize属性为yes则跟后台进程方式启动其实一样)
看到这个界面就可以愉快的玩耍了,哈哈哈哈~~
集群搭建
1.systemctl stop firewalld # 临时关闭防火墙
2.启动:(注意:弹出框要选择“yes”)
./redis-cli -a 密码 –cluster create xx.xx.xx.xx:8002 xx.xx.xx.xx:8005 xx.xx.xx.xx:8001 xx.xx.xx.xx:8004 xx.xx.xx.xx:8003 xx.xx.xx.xx:8006 –cluster-replicas 1
布隆过滤器部署
wget https://github.com/RedisLabsModules/rebloom/archive/v2.2.2.tar.gz
解压 tar -zxvf v2.2.2.tar.gz
cd RedisBloom-2.2.2
make
reids配置文件写入 自己 redisbloom.so 的路径
如:loadmodule /opt/redis/rebloom/redisbloom.so
重启redis,并进入指定端口的redis,输入bf命令验证是否配置成功
Linux进入Redis
进入redis/bin中,执行 ./redis-cli
重要配置项列举
配置项名称 | 配置项值范围 | 说明 |
---|---|---|
daemonize | yes、no | yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行 |
port | 指定 Redis 监听端口,默认端口为 6379 | |
bind | 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。 | |
protected-mode | yes 、no | 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。 |
timeout | 300 | 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能 |
loglevel | debug、verbose、notice、warning | 日志级别,默认为 notice |
databases | 16 | 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到 |
rdbcompression | yes、no | 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。 |
dbfilename | dump.rdb | 指定本地数据库文件名,默认值为 dump.rdb |
dir | 指定本地数据库存放目录 | |
requirepass | 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭 | |
maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。 |
maxmemory | XXX | 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。 |