Bootstrap

Linux下安装Redis,及部分配置详情

一、介绍

Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。

Redis 与其他 key – value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

 接下来,我们会讲解如何在Linux服务器上安装配置 Redis

二、下载redis

2.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.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

        安装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 *****  //(****为你设置的密码)登陆    

读取密码

设置密码

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 --zone=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

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;