查看liunx服务器有没有Redis在运行:

linux redis 删除key linux redis完全卸载_redis

1、下载压缩包

官网:https://redis.io/download

linux redis 删除key linux redis完全卸载_服务器_02

右键Download按钮,选择复制链接。然后通过wget命令下载,下载到/usr/local下面:

# cd /usr/local
wget https://download.redis.io/releases/redis-6.0.10.tar.gz

linux redis 删除key linux redis完全卸载_服务器_03

2、下载完成后需要将压缩文件解压,输入以下命令解压到当前目录并且更改名称

# tar -zvxf redis-6.0.10.tar.gz
# mv redis-6.0.10 redis

3、安装依赖包

3.1、gcc安装

安装redis需要将redis的源码进行编译,编译依赖gcc环境,所以需要安装gcc,指令:

yum install gcc-c++

4、安装redis

4.1进入解压出来的目录里面:

# cd redis

4.2 执行make命令,make 是用来编译的,它从Makefile中读取指令,然后编译。

make

如果出现错误:

linux redis 删除key linux redis完全卸载_linux_04

错误原因是gcc版本的问题,由于我使用的redis6.0版本的。查看gcc版本,如下所示:

1 [root@master redis-6.0.10]# gcc -v
 2 使用内建 specs。
 3 COLLECT_GCC=gcc
 4 COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
 5 目标:x86_64-redhat-linux
 6 配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
 7 线程模型:posix
 8 gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
 9 [root@master redis-6.0.10]# 
10 [root@master redis-6.0.10]#

解决办法,将gcc升级到 5.3及以上版本,如下所示:

1 yum -y install centos-release-scl
2 yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils 
3 scl enable devtoolset-9 bash

注意:scl命令启用只是临时的,推出xshell或者重启虚拟机就会恢复到原来的gcc版本。如果要长期生效的话,执行如下(这边不建议永久生效):

# echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

好了之后在重现make编译下

4.3 执行make install命令。make install是用来安装的

make  install

执行结果如下图:

linux redis 删除key linux redis完全卸载_服务器_05

5、修改配置文件

vi /usr/local/redis/redis.conf 

#主要修改的内容
port 6379    #端口

5.1启动redis

输入命令:redis-server 这种启动方式是临时启动的,只要这个界面关闭或者Ctrl+c退出,那么Redis服务就关闭了,这就导致要在开一个界面输入启动客户端的命令。(因此要将服务加到开机启动)

linux redis 删除key linux redis完全卸载_服务器_06

5.2 启动客户端

输入命令:redis-cli

注意:

重启电脑之后上次输入的数据就没了,但是关闭Redis服务却还有之前的数据,重启服务器才会没有,因此要做数据持久化,持久化分为RDB和AOF

linux redis 删除key linux redis完全卸载_服务器_07

RDB持久化:
手动生成数据库备份文档dump.rdb在客户端输入命令:save

redis 127.0.0.1:6379> SAVE

该命令将在 redis 安装目录中创建dump.rdb文件。
如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 CONFIG 命令,如下所示:

redis 127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/usr/local/redis/bin"

手动触发Redis进行RDB持久化的命令有两种:

1、save

该命令会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成为止。

显然该命令对于内存比较大的实例会造成长时间阻塞,这是致命的缺陷,为了解决此问题,Redis提供了第二种方式。

2、bgsave

执行该命令时,Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。具体操作是Redis进程执行fork操作创建子进程,RDB持久化过程由子进程负责,完成后自动结束。阻塞只发生在fork阶段,一般时间很短。

基本上 Redis 内部所有的RDB操作都是采用 bgsave 命令。

ps:执行执行 flushall 命令,也会产生dump.rdb文件,但里面是空的.

6、下面需要设置redis服务器开机自动启动:

加好之后,这个自动启动和手动redis-server启动的就不是同一个了,至少安装目录不是同一个,导致数据就不一样,可以通过命令:CONFIG GET dir 查看安装目录,毕竟生成的RDB备份文件就是这个目录下的

linux redis 删除key linux redis完全卸载_linux_08

要先让redis服务自动启动的话,首先需要在/etc/init.d目录下创建redis的启动脚本。这边的etc文件夹是跟usr同级的目录

6.1、将redis安装目录下的utils/redis_init_script复制到/etc/init.d目录下,命名为redis

# cd /usr/local/redis/utils
# cp redis_init_script /etc/init.d/redis

编辑刚刚复制的改名的redis启动文件,修改其中指定的pid和配置文件。

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
修改为
PIDFILE=/var/redis/run/redis_${REDISPORT}.pid
CONF="/etc/redis/redis.conf"

首先创建存放pid的目录为/var/redis/run

[root@localhost /]# cd var
[root@localhost var]# mkdir redis
[root@localhost var]# cd redis
[root@localhost redis]# mkdir run

接下来,我们需要把配置文件redis.conf复制一份到/etc/redis这个目录下面去

[root@localhost /]# cd etc
[root@localhost etc]# mkdir redis
[root@localhost etc]# cd redis
[root@localhost redis]# cp /usr/local/redis/redis.conf ./

修改配置文件中的pid为前面配置的pid。

pidfile /var/run/redis.pid
修改为
pidfile /var/redis/run/redis.pid

linux redis 删除key linux redis完全卸载_redis_09

至此为止,我们已经可以通过service redis start/stop来启动和关闭redis服务了。
最后只需要通过chkconfig redis on命令来设置开机启动即可。

[root@localhost ~]# chkconfig redis on
redis 服务不支持 chkconfig
[root@localhost ~]# vi /etc/init.d/redis
[root@localhost ~]# chkconfig redis on
[root@localhost ~]#

如果提示redis 服务不支持 chkconfig的话,只需要在/etc/init.d/redis这个启动脚本的第二行后面加上下面的内容即可。

# chkconfig:2345 90 10
#
# description:Redis is a persistent key-value database

我重启服务器之后,Redis服务自动

linux redis 删除key linux redis完全卸载_服务器_10