Windos 版本安装

Redis 官方并不支持 Window 版本,但是微软公司在 Github 上维护了一个 Windows 版本的 Redis 项目,供 Windows 用户下载使用。

下载地址是:https://github.com/dmajkic/redis/downloads。

下载完之后,使用方式也非常简单:首先解压 Redis 的安装包,然后将目录切换到解压目录下,运行redis-server.exe命令即可。

Linux 版本安装

在生产环境,Redis 通常部署在 Linux 机器上,所以本文重点介绍 Linux 版本的安装方式。

step1:获取你需要的 Redis 版本

你可以在 Redis官网寻找你需要的 Redis 版本。

# 将安装包下载到 tmp 目录下
cd /tmp/
wget http://download.redis.io/releases/redis-6.0.8.tar.gz

# 解压安装包
tar zxvf redis-6.0.8.tar.gz 

step2:安装 Redis

cd redis-6.0.8
# 编译
make
cd src
# 将 Redis 安装到/usr/local/redis,默认安装到 /usr/local/bin 目录
make install PREFIX=/usr/local/redis

安装过程中你可能会遇到以下错误:

cc1: error: unrecognized command line option "-std=c11"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/tmp/redis-6.0.8/src'
make: *** [all] Error 2

这种情况一般是由于 gcc 版本过低造成的,你需要升级下你的 gcc 版本。

GCC(GNU Compiler Collection)是Linux下最主要的编译工具,GCC功能非常强大,结构也灵活。它可以通过不同的前端模块来支持各种语言,如Java、Fortran、Pascal、Modula-3和Ada。

推荐使用yum命令来升级 gcc。

yum info gcc
yum -y install gcc
yum -y install gcc-c++
yum -y install gcc gcc-c++

安装成功后,在安装目录下应该能看到以下命令:

  • redis-benchmark :用于测试 redis 的性能。
  • redis-check-aof : 当 aof 备份文件被损坏,可通过该工具对 aof 文件进行修复,使用方式:redis-check-aof –fix 要修复的 aof 文件。
  • redis-check-rdb : 修复损坏的 rdb 备份文件。
  • redis-cli : redis 客户端,用于连接服务端。
  • redis-server : redis 服务器端,用于启动 redis 服务器。
  • redis-sentinel : 哨兵模式(实际使用较多) 在 master-slave 模式下(slave默认不支持写),当 master 出现异常时,自动在 slave中 选择一台作为 master。
    连接上redis服务器后,可通过指令“info”查看redis服务器信息,也可查看服务器知道内容信息,例如:info replication 查看主从相关信息

step3:修改配置文件

安装完 Redis,在安装目录中是不存在配置文件的,我们可以在解压的源码目录中拷贝一个到安装目录中。

如果你不做任何配置,Redis 会维护一套默认的配置。这边展示下配置:设置 Redis 支持后台程序启动

# redis-server & 也可以让Redis后台运行
daemonize yes

Redis 有很多的配置项,后面会写文章单独介绍。

step4:启动 Redis

# 启动 Redis,需要指定配置文件的路径
redis-server ../redis.conf

启动完之后可以使用ps命令查看是否启动成功。

ps -aux | grep redis
-- Redis 的进程
root     378818  0.0  0.1 133988  2464 ?        Ssl  14:07   0:00 ./redis-server 127.0.0.1:6379
root     378881  0.0  0.0 103304   820 pts/1    S+   14:07   0:00 grep redis

4. 使用 Redis 客户端登陆

[root@SHA-L0029025 bin]# ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> ping hi,redis...
"hi,redis..."

使用ping命令,看到有 message 返回就说明 Redis 已经成功安装了。

一些其他配置

1. 将 Redis 命令加入 PATH

vim ~./.bash_profile

将 Redis 命令路径配置到 PATH 中

PATH=$PATH:$HOME/bin:/usr/local/redis/bin

执行source命令使其生效。

source ~/.bash_profile

2. 设置 Redis 连接密码

上面我们在连接 Redis 时是不需要密码的,这在安全性上不是很健全。我们可以通过以下配置给 Redis 设置密码。

requirepass redis

修改配置文件,将配置项requirepass的注释放开,上面的配置将连接密码设置成了redis

[root@SHA-L0029025 ~]# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> 
127.0.0.1:6379> 
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> 

我们还是使用上面的命令连接,执行命令时报错:(error) NOAUTH Authentication required。

上面的报错很明显:客户端没有授权,需要我们提供密码。

[root@SHA-L0029025 ~]# redis-cli -h 127.0.0.1 -p 6379 -a redis

使用上面的命令就可以正常连接 Redis 了。

3. 放开 Redis 的外网访问

配置防火墙

# 开放6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent

# 重启防火墙以使配置即时生效
systemctl restart firewalld

使用下面命令可以查看端口有没放开

# 查看系统所有开放的端口
firewall-cmd --zone=public --list-ports

此时虽然防火墙开放了 6379 端口,但是外网还是无法访问的,因为 Redis 监听的还是是127.0.0.1:6379,并不监听外网的请求。我们还需要做以下配置。

  • 把文件夹目录里的redis.conf配置文件里的bind 127.0.0.1配置项注释掉;
  • 将配置项 protected-mode配置成 no。

4. 查看是否安装 Redis

whereis redis-cli

5. Redis 卸载

Redis 卸载时主要是删除相关文件,主要包括:

  • Redis 的安装源码文件;
  • Redis 的安装文件,主要在/usr/local/redis目录中;
  • Redis 配置的环境变量。