本文主要介绍的是如何在CentOS 7.6这个版本的Linux系统下安装Redis。
安装环境
- 本机系统:Win 10
- 虚拟机软件:VMware Workstation 12 Pro
- 虚拟机Linux系统:CentOS 7.6
- Redis版本:redis-3.2.3
- 远程连接工具:SecureCRT
- 文件传输工具:FileZilla_3.7.3_win32
说明:本文是通过SecureCRT工具远程连接Linux系统进行操作的,如果是直接在Linux可视化界面操作那就更方便了,原理一样。
Linux系统上安装Redis
下载Redis安装包
这里需要说明一点的是,新版的Redis不够稳定,所以建议大家还是使用旧版本的Redis,比如3.2.3版本,我下载的就是redis-3.2.3.tar.gz
这个版本。
将安装包上传到虚拟机
找到redis-3.2.3.tar.gz
文件的位置,然后将其上传到/root目录下。之前我在《Linux入门第十二讲——在Linux CentOS 7.6系统上安装JDK1.8》这篇文章中已经详细讲解过如何上传文件到Linux,所以这里我就不再赘述了。
怎样知道我们真的上传上去了呢?在/root目录下使用ll
命令查看一下该目录即可。
解压
使用tar -zxvf redis-3.2.3.tar.gz
命令将root目录下的redis-3.2.3.tar.gz
文件还是解压到该目录下,解压的过程如下:
解压成功之后,使用ll
命令查看一下root目录,如下:
安装gcc环境
由于Redis是由C语言编写的,所以安装Redis需要C语言的编译环境,因此我们需要先安装gcc。如果没有gcc,则需要在线安装,安装命令是yum install gcc-c++
。
编译
我们使用cd redis-3.2.3
命令切换到redis-3.2.3目录中,这时就要运行make和make install这两个命令,要运行make和make install这两个命令必须要有Makefile这个文件,我们使用ll
命令是可以看到有这个文件的。
然后我们使用make
命令编译Redis源码包。
安装
我们使用make install PREFIX=/usr/local/redis
命令来进行安装。
温馨提示:PREFIX参数指定Redis安装的目录,我们一般把软件安装到/usr(unix share resource)目录下。usr目录下是有local这个目录的,但local目录下面是没有redis目录的,如果redis目录不存在,则会创建这个目录。
安装完之后,我们切换到/usr/local目录下,可以看到redis目录,如下图所示。
接着我们进入redis目录,在该目录下可以看到bin目录,进入到bin目录可以看到redis的客户端和服务端,如下所示。
启动Redis服务端
第一种启动方式是前端启动,即在Redis的安装目录下直接使用./redis-server
命令启动redis-server,如下所示(可以看到默认端口是6379),只不过这种启动会占用终端,如果我们按Ctrl+C
就会停止redis-server。
第二种启动方式是使用配置文件启动(也叫后台启动),我们需要先到Redis的解压缩目录(/root/redis-3.2.3)下把redis.conf文件复制一份到/usr/local/redis/bin目录下。
然后我们再切换到/usr/local/redis/bin目录下,使用ll
命令可以看到有redis.conf这个文件。
下面我们需要使用vim redis.conf
命令简单修改下redis.conf文件,把daemonize的值由默认的no修改为yes,这个配置是指定是否在后台运行,如下图所示。
修改完之后,可按ESC键+:wq
保存修改,并退出编辑。
下面使用./redis-server redis.conf
命令进行后台启动,如下图所示。
要想查看Redis是否正常启动了,可以使用ps aux | grep redis
命令查看进程,如下图所示,可以看到已经正常启动了。
关闭Redis
如果Redis是后台启动的话,那么关闭Redis有两种方法。第一种方法是使用kill 进程id
命令关闭Redis,如果你是要正常关闭Redis,请使用该命令,不要使用kill -9 进程id
命令,因为该命令是直接杀死进程,比较暴力,而不管进程处于什么状态,而且强行终止Redis进程可能会导致Redis持久化数据丢失。
可以使用ps aux | grep redis
命令查看是否还有该进程,如下图所示,可以很明显地看到没有了。
第二种方法是使用./redis-cli shutdown
命令关闭Redis。为了测试,我们再次启动Redis,然后使用该命令关闭Redis,如下图所示。
同样可以使用ps aux | grep redis
命令查看是否还有该进程,如上所示,可以很明显地看到没有了。
连接Redis
我们可使用./redis-cli
命令连接上Redis服务,然后使用ping
命令,如果返回的是PONG,说明连接没问题,即Redis服务没有挂掉。
从上图可知,默认连接的是localhost运行在6379端口的Redis服务。注意,此时如果要退出该连接,可按Ctrl+C
组合键或者输入quit
命令。
我们还可以连接其它设备上的Redis,如下图所示(当然,这里我还是用的本地虚拟机的IP,大家可以换成其它设备的IP)。
Redis的简单使用
其实Redis里面不只有ping
命令,还有keys *
命令——查看当前Redis数据库这里面有多少个key,如下图所示。
很明显当前Redis数据库这里面是没有一个key的。
然后我们使用set username zhangsan
(Redis是一个key-value形式的数据库,类似于HashMap)命令在当前Redis数据库里面设置一个key,这时再敲入keys *
命令,可以看到有一个key,即username。
接着,我们也可使用get username
命令取出取username所对应的内容。
最后,我们可以使用del username
命令删除指定key的内容。