Redis 服务是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis 被许多网站采用,用于缓存数据。

本文将介绍如何在 CentOS 7 中安装 Redis。

安装 Redis

安装 gcc

由于 Redis 使用 C 语言编写,安装前需要确认是否有 gcc 编译器,可使用gcc -v来查看。

yum -y install gcc

下载 redis 源码

我们将采用当前的最新版本 6.0.6 进行安装。

cd /usr/local/src/
wget http://download.redis.io/releases/redis-6.0.6.tar.gz
tar xf redis-6.0.6.tar.gz

编译安装

切换带源码目录,执行编译并指定安装路径。

cd redis-6.0.6
make
make install PREFIX=/usr/local/redis

创建服务

与创建 Nginx 的服务类似,我们可以创建 Redis 的服务,让systemctl可以控制Redis。

需要先将源码目录中的redis.conf复制到redis目录中。

cp redis.conf /usr/local/redis/redis.conf

然后新建 redis 服务:

vim /lib/systemd/system/redis.service

输入以下内容并保存。

[Unit]
Description=redis
After=network.target

[Service]
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf  --daemonize no
ExecStop=/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown

[Install]
WantedBy=multi-user.target

现在可以使用systemctl控制redis了。

# 开启 redis 服务
systemctl start redis
# 关闭 redis 服务
systemctl stop redis
# 设为开机启动
systemctl enable redis

redis 软连接

使用以下指令来创建 redis 的软连接,以便我们在任何地方调用 redis。

ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis

关于6.x版本编译报错

在编译6.x版本时可能会遇到编译器报错,这是因为编译器版本太低。系统默认的版本一般为4.8.5(可通过gcc -v查看),需要将其升级到5.3以上。

以下为解决方案:

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

# 临时
scl enable devtoolset-9 bash

# 永久有效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
source /etc/profile

这样就可以正常编译了。