前言
网上一搜一大把的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为数值。