简介

安装redis服务有好几种方式,你会如何选择?

系统自带的安装包

现在Linux发行版本基本都是有自带redis安装包的。

安装系统自带的包都会遵循HFS的规范,配置文件一般是在/etc/redis.conf,数据目录是在/var/lib/redis,服务基本都是使用systemd进行管理了。

REHL/CentOS

yum -y install redis

Debian/Ubuntu

sudo apt update
sudo apt install redis

Archlinux/Manjaro

sudo pacman -S redis

服务管理

systemctl enable redis 
systemctl start redis

系统自带的版本,一般都是使用系统自带的glibc进行编译的,为了稳定性一般不会是最新版本。

自编译安装

自编译安装就比较自由地选择版本, 但是目前redis6gcc的版本要求比较高,有些发行版本需要安装一下新版本的gcc才能完成编译。

CentOS/RHEL上编译脚本

#!/bin/bash

redis_version="6.0.9"

install_path="/opt/redis"

cd $HOME

wget -c -t 0 -T 12000 https://mirrors.huaweicloud.com/redis/redis-${redis_version}.tar.gz

tar zxvf redis-${redis_version}.tar.gz

cd redis-${redis_version}

# 需要高版本的gcc,可以直接使用yum进行安装
yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash

make

make PREFIX=${install_path} install

自编译完的二进制文件,也可以拷贝到相同的发行版本对应的版本的系统上直接运行,可以二次利用。

docker部署

容器化部署就更简单了

docker pull redis:6.0.9
docker run -itd -p 6379:6379   -v /data/redis:/data  redis:6.0.9

如果不放心用别人的镜像,我们也可以自己制作一个

docker import https://mirrors.aliyun.com/alpine/v3.12/releases/x86_64/alpine-netboot-3.12.1-x86_64.tar.gz  alpine:3.12.1
vim DockerFile
From alpine:3.12.1

ADD https://mirrors.huaweicloud.com/redis/redis-6.0.9.tar.gz /

RUN  sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories &&\
    apk add make gcc g++ linux-headers  tar && tar zxvf redis-6.0.9.tar.gz  && cd redis-6.0.9 && make && make install &&\
    apk del make gcc g++ linux-headers  tar  && rm -rfv /redis-6.0.9
ENTRYPOINT [ "/usr/local/bin/redis-server","--protected-mode","no" ]

总结

无论用哪种方式部署,都是可以正常使用的,只是维护方式不一样而已。