背景
Windows中使用Redis的安装包很容易找到,解压出来就可以使用。银河麒麟中使用Redis没有直接的安装包,所以需要使用源码自己编译。
准备
官网下载Redis源码:Redis官网
笔者这里下载的是6.2.14版本,这里下载的是源码
编译
将源码包导入到银河麒麟主机中,笔者这里放在/opt中
解压这个压缩包得到源码文件夹
tar -xvf redis-6.2.14.tar.gz
这里先进入/usr/local/bin目录中查看已有的文件夹,没有关于redis的文件。这里看一下是因为后面编译后会在此文件夹生成一些redis的执行文件。这个文件夹是系统环境变量文件夹,redis编译后把执行文件直接输出到这里,可以方便使用,不需要配置环境变量就可以在全局使用redis。
进入Redis源码文件夹,执行编译命令
cd /opt/redis-6.2.14
make && make install
编译需要等待,这个长图是拼接的,编译过程中会有很多日志。等待编译结束。
再进入/usr/local/bin目录中查看编译后生成了Redis相关的执行文件,其中redis-server是redis启动文件,redis-cli是redis客户端文件。
运行
执行redis启动命令,在日志中可以看到熟悉的redis界面,并且使用了6379端口
redis-server
我们在另一个窗口中使用redis客户端连接,可以连接成功,说明redis编译、启动是成功的,并且使用了默认的6379端口
关掉redis,修改/opt/redis-6.2.14/redis.conf文件,这个文件是redis的配置文件,通常我们不需要修改。上述我们直接启动redis并没有指定配置文件,一般也是这样用。我们现在将配置文件中的端口改成6378。
启动redis,指定配置文件
redis-server /opt/redis-6.2.14/redis.conf
看到redis一样能启动,并且开放的端口是6378,说明配置文件修改成功,并且启动时配置文件也指定成功
执行redis可以端程序,提示连接失败,是因为默认对127.0.0.1:6379端口进行连接,这里我们修改了redis端口,所以连接失败,可以在连接时加上参数,指定端口进行连接
redis-cli -h 127.0.0.1 -p 6378
配置文件
在文件夹内先看有哪些文件
在该文件夹内运行redis后再看文件夹内,会发现多了一个dump.rdb文件。
redis是将数据存储在内存中的,当电脑断电或者其它原因宕机,数据就会丢失,不能持久化存储。这也是redis快的原因。这个文件就是redis针对这一短板的设计,可以将内存的数据存储在硬盘上。redis会定时(具体定时规则请单独研究,一般使用默认就行),将内存中的数据集写入磁盘,存储在这个文件内,当redis停止,再次启动时会将文件内的数据读到内存中。
关于这个这个文件的信息可以在配置文件中定义,比如存储位置、文件名称。存储路径默认是当前路径,因为redis编译后启动文件在系统环境变量中,所以在任何位置都可以启动redis,但是默认的文件路径就是当前路径,所以你在哪里启动,就会在哪里创建这个文件,时间久了会看到很多在这个rdb文件,为了防止这个文件乱跑,一般对这个路径配置为绝对路径。
将文件路径修改为redis安装路径,文件名称改为redis.rdb
在/home路径下运行redis,然后查找dump.rdb,找不到这个文件,查找redis.rdb,可以在配置的路径下找到该文件,说明配置文件修改是生效的。
后台启动
很多时候我们程序需要开机启动,上电后服务器自动开机,里面服务自动启动不需要用户去操作服务器。redis就需要自动启动,很多程序都配置为服务开机启动,也可以在服务器开机后初始化的地方添加启动脚本,我们这里就在开机启动添加脚本,Linux开机启动脚本一般写在/etc/rc.d/rc.local文件中,我们这里也添加了redis启动的命令。
配置完启动服务器后却出现问题,服务器开机网卡启动,其它主机能ping通服务器,但是服务器登录界面进不去卡住了。原因是启动redis会有个可视化界面,这个进程是阻塞的,在这个脚本中这样启动redis就会在那一行阻塞,后面的代码就不执行,可视化界面也出不来,因此不能这样直接启动。
为此redis提供了后台启动的配置,在配置文件中有个属性daemonize,默认是no,改成yes后启动redis就没有那个熟悉的界面,启动后直接退出,但是redis是启动了的。