Redis的安装与配置
Redis的安装与配置
Redis的安装
下载Redis
下载地址:https://redis.io/download/#redis-downloads,按图片所示点击下载即可。

下载完成后,通过FTP工具上传至自己的服务器即可。
第二种方式可以采用wget方式在线下载(但github速度较慢)
wget https://github.com/redis/redis/archive/7.2.0.tar.gz解压缩
运行如下命令解压缩刚刚的安装包
cd /usr/local
tar -zxvf /home/redis-7.2.0.tar.gz
mv redis-7.2.0 redis/安装gcc依赖环境
由于Redis依赖于gcc环境,并且Redis 6需要gcc版本至少是gcc7以上
yum install gcc -y
编译和安装
#切换到 redis目录
cd redis/
# 编译
make
# 安装
make install此过程耗时较长,请耐心等待。
异常处理
编译过程中可能会初选error: jemalloc/jemalloc.h: No such file or directory异常
**解决办法:**依次执行如下命令
make MALLOC=libc
cd src && make install
默认安装路径为/usr/local/bin目录
# 切换到安装路径
cd /usr/local/bin
# 查看文件
ls
各个功能模块介绍
| 模块名称 | 模块功能介绍 |
|---|---|
| redis-server | Redis服务器 |
| redis-cli | Redis命令行客户端 |
| redis-benchmark | Redis性能测试 |
| redis-check-aof | AOF文件修复工具 |
| redis-check-rdb | RDB文件修复工具 |
| redis-sentinel | Sentinel服务器(2.8以后),Redis集群使用 |
修改系统配置
由于Redis在后台启动方式时,会报WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.异常,所以需要修改系统配置。
修改系统配置文件
编辑/etc/sysctl.conf文件
vim /etc/sysctl.conf添加如下内容
vm.overcommit_memory = 1
net.core.somaxconn = 1024验证配置生效
sysctl -p
Redis的启动
redis的启动分为两种方式:前台启动和后台启动。
由于前台启动后,命令行界面不能再执行其他操作,且命令行界面关闭后,redis也会随即关闭,所以不推荐使用。
前台启动(不推荐使用)
直接执行命令
redis-serve
后台启动
修改配置文件
Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
cd /usr/local/redis
cp redis.conf redis.conf.bak
vim redis.conf在vi界面命令行模式下输入/daemonize no进行查找,并将该内容修改为daemonize yes,然后保存退出

启动
cd /usr/local/bin
redis-server /usr/local/redis/redis.conf
客户端连接
可以通过redis-cli工具连接redis测试其启动状况
# -h Redis服务器的IP地址 如果不指定代表连接本地redis
# -p 指定Redis端口号
# -a 指定连接密码
redis-cli [-h IP] [-p port] [-a password]
Redis的关闭
redis-cli shutndown命令关闭

8.png redis终端内
shutdown命令关闭
7.png 通过关闭进程关闭

6.png
Redis开机启动
创建Redis目录
在/etc目录下新建redis目录
cd /etc/
mkdir redis复制配置文件
将redis.conf文件复制到/etc/redis目录下,并重命名为6379.conf
cp /usr/local/redis/redis.conf /etc/redis/6379.conf复制启动脚本
cp /usr/local/redis/utils/redis_init_script /etc/init.d/redis
vi /etc/init.d/redis通过查看启动脚本,确定各个路径是否正确

执行自启命令
cd /etc/init.d/
chkconfig redis on如果运行结果提示:
service redisd does not support chkconfig,解决方法: 使用vim编辑redisd文件,在第一行加入如下两行注释,保存退出,再次执行自启命令即可
# chkconfig: 2345 90 10 # description: Redis is a persistent key-value database注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
启动Redis
# 打开redis命令:
service redis start
# 关闭redis命令:
service redis stopRedis维护
设置Redis密码
密码设置方式
Redis密码的设置有两种方式:配置文件配置中、Redis命令行设置
方式一: 配置文件设置
由于前面设置了开机自动脚本,所以本次修改的配置文件路径为/etc/redis/6379.conf
配置文件中关于密码的设置默认处于注释状态,将前方的#删除,并设置自己的密码即可!
vi /etc/redis/6379.conf
方式二: Redis命令行界面设置
连接redis后,在命令行界面执行如下命令可以设置redis密码
注意:该方法设置的密码为临时密码,重启redis后就会重置,而配置文件修改的为永久密码
命令行设置
经测试:配置文件的优先级要高于命令行配置的密码
配置密码后的连接方式
方式一: -a参数连接
可以通过
redis-cli -a password来连接redis,但是redis会报
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.警告,忽略即可
-a参数连接 方式二: auth连接
先通过
redis-cli连接,在通过auth password来配置连接密码
auth连接
Redis允许远程连接
修改配置文件,修改如下内容
#注释掉或配置成0.0.0.0表示任意IP均可访问。(如果是 windows 系统,则必须显示设置 bind 0.0.0.0,而不能注释)
bind 0.0.0.0
#设置为 no,关闭保护模式
protected-mode no重启Redis服务
