Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
Redis 与其他 key – value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
一、下载redis
1、手动下载
进入redis下载地址:https://download.redis.io/releases/,点击 “redis-7.0.9.tar.gz ” 进行下载
将下载的文件redis-7.0.9.tar.gz 通过Xftp工具或者通过其他工具上传至Linux 服务器 /usr/local/prod/ 目录。
2、自动下载
也可以使用下载命令获取安装包
wget https://download.redis.io/releases/redis-7.0.9.tar.gz
二、拷贝压缩包并解压
进入prod目录命令:cd /usr/local/prod/
解压命令:tar -zxvf redis-7.0.9.tar.gz
三、安装gcc
由于redis是c语言编写的,所以我们需要先安装gcc,安装的命令步骤如下:
进入redis-7.0.9目录命令:cd redis-7.0.9/
安装工具命令:yum -y install gcc
安装成功后,查看gcc版本。
查看命令:gcc -v
四、编译与安装
- 编译操作步骤如下:
进入redis-7.0.9目录命令:cd redis-7.0.9
编译命令:make
进入编译完成后生成的src目录命令:cd src
注:编译完成后,会在/usr/local/prod/redis-7.0.9 目录下生成一个 src 的目录。
- 安装操作步骤如下:
进入src目录命令:cd src
安装到redis到指定目录命令:make install PREFIX=/usr/local/prod/redis
五、移动配置文件到安装目录下
回退redis-7.0.9目录命令:cd ../
创建etc目录命令:mkdir /usr/local/prod/redis/etc
移动redis.conf配置文件:mv redis.conf /usr/local/prod/redis/etc
注:此时,/usr/local/prod/redis-7.0.9目录 就不会再用到了,可以对无用目录和文件进行删除。
命令:rm -f /usr/local/prod/redis-7.0.9.tar.gz
# 安装后解压目录也可以删除,因为是文件夹,加上 -r 遍历删除
命令:rm -rf /usr/local/prod/redis-7.0.9
六、配置redis为后台启动
vi /usr/local/prod/redis/etc/redis.conf //改成daemonize no 改成daemonize yes
七、将redis加入到开机启动
vi /etc/rc.local //在里面添加内容:
/usr/local/prod/redis/bin/redis-server /usr/local/prod/redis/etc/redis.conf //意思就是开机调用这段开启redis的命令
八、将redis-cli,redis-server拷贝到bin下,让redis-cli指令可以在任意目录下直接使用
cp /usr/local/prod/redis/bin/redis-server /usr/local/bin/
cp /usr/local/prod/redis/bin/redis-cli /usr/local/bin/
九、启动redis
/usr/local/prod/redis/bin/redis-server /usr/local/prod/redis/etc/redis.conf
或者
redis-server /usr/local/prod/redis/etc/redis.conf
十、设置redis密码
a. 运行命令:redis-cli
b. 查看现有的redis密码命令:config get requirepass //如果没有设置过密码的话运行结果会如下图所示
c. 设置redis密码命令:config set requirepass **** //(****为你要设置的密码),设置成功的话会返回‘OK’字样
d. 重启redis服务命令:redis-cli -h 127.0.0.1 -p 6379 -a **** //(****为你设置的密码)
e. 输入 redis-cli 进入命令模式,使用 auth ***** //(****为你设置的密码)登陆
- 读取密码
config get requirepass
- 设置密码
config set requirepass
redis-cli:默认连接127.0.0.1(本机)的6379端口上的redis服务。
redis-cli -p 端口号:连接127.0.0.1(本机)的指定端口上的redis服务。
redis-cli -h ip地址 -p 端口:连接指定ip主机上的指定端口的redis服务。
十一、让外网能够访问redis
- 如果系统启用了防火墙的话,就要在防火墙端开放端口。
firewall-cmd --znotallow=public --add-port=6379/tcp --permanent
firewall-cmd --reload
查看系统所有开放的端口:firewall-cmd --zone=public --list-ports
- 外网还是无法访问
此时 虽然防火墙开放了6379端口,但是外网还是无法访问的,因为redis监听的是127.0.0.1:6379,并不监听外网的请求。
把文件夹目录里的redis.conf配置文件里的bind 127.0.0.1前面加#注释掉。
命令:redis-cli连接到redis后,通过 config get daemonize和config get protected-mode 是不是都为no,如果不是,就用config set 配置名 属性 改为no。
常用命令
- 检测后台进程是否存在:ps -ef |grep redis
- 检测6379端口是否在监听:netstat -lntp | grep 6379
- 停止redis:redis-cli shutdown
- 杀掉进程:kill -9 PID