Molet

详细讲解 Redis 的两种安装部署方式

Molet 运维技术 2022-11-19 426浏览 0

Redis 是一款比较常用的 NoSQL 数据库,我们通常使用 Redis 来做缓存,这是一篇关于 Redis 安装的文章,所以不会涉及到 Redis 的高级特性和使用场景,Redis 能够兼容绝大部分的 POSIX 系统,例如 Linux、OS X 等,但是很遗憾不支持在 Windows 上安装,当然如果你需要在 windows 下安装 redis 的话,也是可以的,微软公司的开源技术组在 GitHub 上 维护一个 Redis 的分支,GitHub 地址为:https://github.com/microsoftarchive/redis,我看了一下这上面的版本比较旧,所以我个人不推荐使用这个来安装 Redis ,Windows 用户可以使用 Docker 容器来安装,也是非常方便、简单的,接下来我们就一起来看看 Redis 的安装方式吧。

详细讲解 Redis 的两种安装部署方式

1、Linux 系统下安装 redis

安装

在 redis 官网中有安装教程,链接:https://redis.io/download,安装步骤我拷贝过来了,步骤如下:

$wgethttp://download.redis.io/releases/redis-5.0.6.tar.gz
$tarxzfredis-5.0.6.tar.gz
$cdredis-5.0.6
$make

我在 /usr/local 目录下面操作的这些命令,也就是说 Redis 的安装目录为 /usr/local ,这些命令执行完之后你的机器上安装好 Redis ,在安装的过程中,如果你的机器上没有安装 gcc ,你安装好 gcc 之后再 make 可能会报以下错误

jemalloc/jemalloc.h:Nosuchfileordirectory

当时没有截取详细的错误信息,只把主要的一段截取出来了,这个错误的原因是我们上一次 make 报错之后,有编译后的文件,所以我们需要清除上一次的残留文件再重新编译,将 make 换成 make distclean && make 就可以了。

redis.conf 文件

redis.conf 是 Redis 的配置文件,redis 的所有配置有在这个文件里面,这个文件挺大的有接近 1400 行,有关 redis 的操作、使用说明都在里面,可以详细的阅读阅读这个配置文件,大部分情况下我们使用默认配置就行,只需要设置少量配置就行。redis.conf 的存放位置在 Redis 的安装目录下,我这里是 /usr/local/redis-5.0.5 目录下,一起来看看我们可能会修改的几个配置:

  • bind 127.0.0.1:允许访问机器的IP,默认只有本机才能访问,你可以修改 ip 来运行其他机器也能访问,但是如果你想让所有机器都可以访问的话,直接设置为 bind 0.0.0.0 就行了。
  • port 6379:redis 实例启动的端口,默认为 6379
  • daemonize no:是否以守护进程的方式运行,默认是 no,也就是说你把启动窗口关闭了,redis 实例也就关闭了,一般这个选项我们设置为 yes,以守护进程的方式运行,说俗一点就是后台运行。
  • pidfile /var/run/redis_6379.pid:如果我们使用守护进程方式运行的话 ,就会产生一个后缀名为 .pid 的文件,这个使用默认的也行
  • dir ./:持久化文件存放位置,这个配置我们还是设置一下为好,我这里设置为 dir /usr/local/redis_data
  • appendonly no:是否开启 AOF 持久化方式,redis 默认只开启了 RDB 模式,这里我们设置为 yes,两种方式都开启,双重保险,关于这两种方式的区别,我们后面在学习

好像大概设置这几个就好了,更多关于 redis.conf 的配置,你可以详细阅读 redis.conf 配置文件或者查阅相关手册。

redis 的启动

Redis 的启动非常简单,Redis 安装完成之后,会在 /usr/local/redis-5.0.5/src 存放 Redis 的 shell 交互命令,其中有一个 redis-server ,这个就是 Redis 的启动命令,执行:

./redis-server/usr/local/redis-5.0.5/redis.conf

后面跟的是 redis.conf 的文件路径,不出意外的话我们将启动成功,你会看到如下界面:

详细讲解 Redis 的两种安装部署方式

redis 启动

这里我们使用的是守护进程的方式启动,所以不会出现带有 redis logo 的启动界面,我们可以使用 shell 命令登录到 Redis 中,还是在 src 目录下面,执行下面这条命令:

./redis-cli

这命令你就进入了 shell 交互界面,./redis-cli 命令可以带一些参数,例如 -h IP 这个就可以进入指定机器的 Redis 实例,进入之后你就可以进行一些操作了,如下图所示:

详细讲解 Redis 的两种安装部署方式

redis 操作

redis 关闭

Redis 的关闭方式有两种,一种是在 shell 交互界面关闭,另一种是 kill + 进程号关闭 Redis 实例的方式

shell 交互界面关闭

shutdown[nosave|save]

在 shell 交互界面输入 shutdown 命令就可以关闭 Redis 实例,后面有一个可选参数,nosave 就是不将内存中的数据持久化,save 就是将内存中的数据持久化。shutdown 关闭方式是比较优雅的关闭方式,建议使用这种关闭方式

Kill + 进程号关闭 Redis 实例

使用 ps -ef|grep redis 查看 Redis 进程号,如下图所示:

详细讲解 Redis 的两种安装部署方式

查看 redis 进程号

在这里找到我们需要关闭 redis 实例的进程号,比如这里我们的进程号为 27133,那么我们就直接使用 kill 27133 关闭 Redis 实例服务,这种方式我们需要注意一个地方,那就是需要我们去把 pid 文件删掉,pid 文件存放的位置我们在 redis.conf 里配置的 pidfile /var/run/redis_6379.pid,我们需要到 /var/run 目录下把 redis_6379.pid 删掉,这样下一次才能正常重启 Redis 服务。

上面两种方式都可以关闭 Redis 服务,随便选一种都行,但是切记不要使用 Kill 9 方式关闭 Redis 进程,这样 Redis 不会进行持久化操作,除此之外,还会造成缓冲区等资源不能优雅关闭,极端情况下会造成 AOF 和复制丢失数据的情况

redis 开机自启动

在服务器上我们可能需要将 Redis 设置为开机自启动,其实这个也非常简单,我们只需要做以下四步操作即可。

1、 编写配置脚本 vim /etc/init.d/redis

#!/bin/sh
#
#SimpleRedisinit.dscriptconceivedtoworkonLinuxsystems
#asitdoesuseofthe/procfilesystem.
#chkconfig:23458090
#description:auto_run
#端口号
REDISPORT=6379
#启动命令
EXEC=/usr/local/redis-5.0.5/src/redis-server
#shell交付命令
CLIEXEC=/usr/local/redis-5.0.5/src/redis-cli
#pid存放位置
PIDFILE=/var/run/redis_${REDISPORT}.pid
#redis配置文件
CONF="/usr/local/redis-5.0.5/redis.conf"

case"$1"in
start)
if[-f$PIDFILE]
then
echo"$PIDFILEexists,processisalreadyrunningorcrashed"
else
echo"StartingRedisserver..."
$EXEC$CONF
fi
;;
stop)
if[!-f$PIDFILE]
then
echo"$PIDFILEdoesnotexist,processisnotrunning"
else
PID=$(cat$PIDFILE)
echo"Stopping..."
$CLIEXEC-p$REDISPORTshutdown
while[-x/proc/${PID}]
do
echo"WaitingforRedistoshutdown..."
sleep1
done
echo"Redisstopped"
fi
;;
*)
echo"Pleaseusestartorstopasfirstargument"
;;
esac

2、修改 redis.conf,设置 redis 为守护进程方式运行

#################################GENERAL#####################################

#BydefaultRedisdoesnotrunasadaemon.Use'yes'ifyouneedit.
#NotethatRediswillwriteapidfilein/var/run/redis.pidwhendaemonized.
daemonizeyes

3、修改文件执行权限

chmod+x/etc/init.d/redis

4、设置开机启动

#启动redis
serviceredisstart
#停止redis
serviceredisstop
#开启服务自启动
chkconfigredison

2、Docker 安装Redis

Docker 安装 Redis 整体来说比较方便,我说的是非生产环境,就是自己搭着测试或者学习的环境,下面的步骤全部建立在你已经在你的电脑上安装了 Docker 的基础上,下面就来开启安装之旅。

1、拉取 redis 镜像

dockerpullredis

2、快速启动

dockerrun-p6379:6379--namemyredis-dredisredis-server--appendonlyyes

这种方式启动使用的默认的 redis.conf 配置,我们先来看看这几个参数的意思

  • -p 6379:6379:映射端口,前面的 6379 是外部 redis 端口,后面的 6379 是容器内部的 redis 端口
  • –name myredis :容器对应的名称
  • redis redis-server:redis 代表着 redis 镜像 redis-server 表示的是执行的命令,也是就 redis 的启动命令,跟我们 linux 下面的 ./redis-server 一样
  • –appendonly yes:开启 AOF 持久化

3、使用 redis

继续浏览有关 Redis 的文章
发表评论