如何下载 Redis:一份全面且深入的指南
Redis,全称Remote Dictionary Server,是一个开源的、内存中的数据结构存储系统,可用作数据库、缓存和消息代理。凭借其闪电般的速度、灵活的数据结构支持以及广泛的应用场景,Redis 已成为现代应用开发中不可或不可或缺的组件。无论你是开发者、系统管理员还是对新技术充满好奇的学生,学习如何获取和安装 Redis 都是迈向掌握这个强大工具的第一步。
本文将为你提供一份详尽的指南,涵盖在不同操作系统上下载和获取 Redis 的各种方法,从编译源代码到使用包管理器、容器等。我们将深入探讨每种方法的优缺点,帮助你选择最适合自己需求的方式,并提供详细的步骤和常见问题的解决方案。
1. 为什么选择 Redis?以及获取它的重要性
在深入下载步骤之前,让我们快速回顾一下 Redis 的核心吸引力:
- 速度惊人: 数据存储在内存中,读写速度远超传统磁盘数据库。
- 丰富的数据结构: 支持字符串(String)、列表(List)、集合(Set)、有序集合(Sorted Set)、哈希(Hash)等多种数据结构,满足各种复杂场景的需求。
- 持久化选项: 虽然是内存数据库,但提供了RDB(Redis Database)和AOF(Append Only File)两种持久化方式,确保数据安全。
- 高可用和扩展性: 支持主从复制、Sentinel(哨兵)和Cluster(集群),实现高可用和水平扩展。
- 原子性操作: 许多操作都是原子性的,保证数据一致性。
- 发布/订阅功能: 内置的发布/订阅机制,方便构建消息系统。
获取 Redis 是使用其强大功能的先决条件。幸运的是,Redis 提供了多种灵活的方式让用户下载和部署它。选择哪种方式通常取决于你的操作系统、对最新版本的需求、是否需要编译配置以及希望部署的便捷程度。
2. 准备工作:开始下载前的注意事项
无论你选择哪种下载方式,都有一些基本的准备工作和注意事项:
- 确认操作系统: Redis 主要在类 Unix 系统(如 Linux、macOS)上得到官方支持并表现最佳。虽然有非官方的 Windows 移植版本或通过 WSL (Windows Subsystem for Linux) 使用官方版本,但原生 Windows 支持不如类 Unix 系统成熟。
- 检查系统架构: 大多数情况下,你需要下载与你的系统架构(如 x86-64)匹配的版本。
- 管理员权限: 在某些安装方式中(如通过
make install
安装到系统目录,或使用包管理器安装),你可能需要管理员或 root 权限。 - 互联网连接: 大多数下载方式都需要稳定的互联网连接来获取源代码、二进制文件或 Docker 镜像。
- 了解你的需求: 是只需要快速体验?还是需要在生产环境中使用?是需要特定版本?这些因素将影响你选择最合适的下载方法。
接下来,我们将详细介绍几种主流的 Redis 下载和获取方法。
3. 方法一:从源代码编译安装 (推荐用于 Linux/macOS 追求最新或特定配置)
这是获取 Redis 的最“官方”和最灵活的方式。通过下载 Redis 的源代码,你可以选择编译特定版本,并能在编译过程中进行一些自定义配置(尽管对于大多数用户来说,默认配置已经足够)。这种方式特别适合 Linux 和 macOS 用户,因为它完全依赖于标准的构建工具链。
3.1 步骤详解 (以 Linux 为例)
-
访问 Redis 官方网站或 GitHub 仓库:
最新的稳定版本通常发布在 Redis 官方网站 (redis.io) 的下载页面。你也可以直接访问其 GitHub 仓库 (github.com/redis/redis) 获取最新的开发版本或特定标签的版本。打开浏览器,前往 https://redis.io/download。你会看到当前稳定版本的源代码压缩包链接(通常是
.tar.gz
格式)。 -
下载源代码压缩包:
在你的 Linux 终端中,使用wget
或curl
命令下载源代码压缩包。例如,如果最新版本是 7.2.4:“`bash
使用 wget
wget https://download.redis.io/releases/redis-7.2.4.tar.gz
或使用 curl
curl -O https://download.redis.io/releases/redis-7.2.4.tar.gz
“`请将 URL 替换为你希望下载的实际版本链接。
-O
参数让curl
将输出写入到与 URL 最后一部分相同的文件名中。 -
解压源代码包:
下载完成后,使用tar
命令解压压缩包:bash
tar -xzf redis-7.2.4.tar.gz-x
表示解压,-z
表示使用 gzip 解压,-f
指定文件名。解压后会生成一个与压缩包同名的目录(例如redis-7.2.4
)。 -
进入源代码目录:
使用cd
命令进入刚刚解压的源代码目录:bash
cd redis-7.2.4 -
编译 Redis:
在源代码目录中,执行make
命令来编译 Redis。这会编译 Redis 服务器 (redis-server
)、客户端 (redis-cli
) 以及其他一些实用工具。bash
make- 可能遇到的问题: 如果你的系统没有安装 C 编译器(如 GCC)或
make
工具,这个步骤会失败。你需要先安装这些构建依赖。例如,在 Debian/Ubuntu 上:
bash
sudo apt update
sudo apt install build-essential tcl
在 CentOS/RHEL 上:
bash
sudo yum groupinstall "Development Tools"
sudo yum install tcl
tcl
是运行 Redis 测试套件所必需的。
- 可能遇到的问题: 如果你的系统没有安装 C 编译器(如 GCC)或
-
运行测试套件 (可选但强烈推荐):
编译成功后,你可以运行 Redis 内置的测试套件,以确保一切正常工作。这需要tcl
环境。bash
make test如果所有测试都通过,你会看到类似 “All tests passed!” 的消息。如果测试失败,可能存在兼容性问题或编译错误,通常需要检查错误输出并查找原因。
-
安装 Redis (可选但推荐):
make
命令只是生成了可执行文件,它们还在当前的src
子目录中。为了方便在系统中的任何位置运行 Redis 命令,你可以使用make install
命令将可执行文件安装到系统 PATH 环境变量包含的目录中(通常是/usr/local/bin
)。这通常需要管理员权限。bash
sudo make install这个命令会将
redis-server
,redis-cli
,redis-benchmark
,redis-check-aof
,redis-check-rdb
等文件复制到/usr/local/bin
。- 手动安装 (如果不想用 sudo): 如果你不想使用
sudo make install
,也可以手动将src
目录下的可执行文件复制到你希望的位置,并将该位置添加到你的用户 PATH 环境变量中。
- 手动安装 (如果不想用 sudo): 如果你不想使用
3.2 编译安装的优缺点
-
优点:
- 获取最新版本的 Redis。
- 可以对编译选项进行更细粒度的控制(尽管不常用)。
- 深入了解 Redis 的构建过程。
- 跨平台性强(在任何支持标准 C 编译器的类 Unix 系统上都可以)。
-
缺点:
- 需要安装构建工具链和依赖。
- 过程相对包管理器更复杂一些。
- 安装后的服务管理(启动、停止、重启)需要手动或通过 systemd/init.d 配置,不像包管理器那样自动化。
- 卸载不像包管理器那样简单(通常需要手动删除安装的文件)。
3.3 启动和验证 (编译安装后)
编译安装后,Redis 服务并不会自动启动。你需要手动启动它:
-
以后台方式启动 Redis 服务器 (推荐使用配置文件):
Redis 源代码包中包含一个示例配置文件redis.conf
。复制这个文件到/etc/redis/
或其他合适的位置是一个好习惯,并根据需要进行修改(比如设置密码、绑定地址、持久化等)。“`bash
复制配置文件 (需要sudo权限)
sudo mkdir /etc/redis
sudo cp redis.conf /etc/redis/编辑配置文件 (可选)
sudo nano /etc/redis/redis.conf
使用配置文件以后台模式启动
redis-server /etc/redis/redis.conf &
“`&
符号让进程在后台运行。要停止 Redis,你需要找到其进程 ID (PID) 并发送终止信号。配置文件中通常包含了 PID 文件的位置。 -
以前台方式启动 Redis 服务器 (仅用于测试):
你也可以不使用配置文件,直接启动一个默认配置的 Redis 实例,但这仅适用于快速测试。bash
redis-server
这将以前台模式启动,会阻塞当前终端。按Ctrl+C
停止。 -
使用 Redis 客户端验证:
打开另一个终端窗口,使用redis-cli
连接到运行中的 Redis 实例:bash
redis-cli连接成功后,你可以尝试发送一个
PING
命令:127.0.0.1:6379> PING
PONG
如果返回PONG
,说明 Redis 服务器正在正常运行。
4. 方法二:使用包管理器安装 (推荐用于大多数 Linux/macOS 用户追求便捷)
对于大多数用户来说,使用操作系统自带的包管理器来安装 Redis 是最简单、最快速且最方便的方式。包管理器会自动处理依赖关系,将 Redis 安装到标准位置,并通常会设置好系统服务,使得启动、停止和重启 Redis 变得非常容易。
缺点是,通过包管理器安装的 Redis 版本可能不是最新的稳定版本,而是稍微旧一些的版本,因为它需要经过发行版维护者的打包和测试过程。
4.1 步骤详解 (按操作系统区分)
4.1.1 在 Debian/Ubuntu (使用 APT 包管理器):
-
更新包列表:
在安装新软件包之前,总是推荐更新你的本地包列表。bash
sudo apt update -
安装 Redis 服务器:
使用apt install
命令安装redis-server
包。这会自动安装 Redis 服务器及其相关的依赖(包括redis-cli
)。bash
sudo apt install redis-server -
检查 Redis 服务状态:
安装完成后,Redis 服务通常会自动启动。你可以使用systemctl
命令来检查其状态:bash
sudo systemctl status redis-server如果看到 “active (running)” 字样,说明服务正在运行。
-
管理 Redis 服务:
你可以使用systemctl
命令来启动、停止或重启 Redis 服务:bash
sudo systemctl start redis-server
sudo systemctl stop redis-server
sudo systemctl restart redis-server -
验证:
使用redis-cli
连接并发送PING
命令,就像编译安装后一样。bash
redis-cli ping
预期输出:PONG
包管理器安装的 Redis 配置文件通常位于
/etc/redis/redis.conf
。
4.1.2 在 CentOS/RHEL/Fedora (使用 YUM 或 DNF 包管理器):
较新的 Fedora 和 CentOS Stream 版本使用 DNF,而较旧的 CentOS/RHEL 版本使用 YUM。命令非常相似。
-
安装 Redis:
使用yum install
或dnf install
命令安装 Redis。“`bash
对于较新系统 (Fedora, CentOS Stream, RHEL 8+)
sudo dnf install redis
对于较旧系统 (CentOS/RHEL 7 及以前)
sudo yum install redis
“` -
启动 Redis 服务:
安装后服务可能不会自动启动,需要手动启动并设置开机自启。bash
sudo systemctl start redis -
设置开机自启 (可选):
bash
sudo systemctl enable redis -
检查 Redis 服务状态:
bash
sudo systemctl status redis -
验证:
bash
redis-cli ping
预期输出:PONG
包管理器安装的 Redis 配置文件通常位于
/etc/redis.conf
。
4.1.3 在 macOS (使用 Homebrew):
Homebrew 是 macOS 上非常流行的包管理器。如果你的 Mac 上没有安装 Homebrew,请先按照其官方网站 (https://brew.sh/) 的指示进行安装。
-
安装 Redis:
打开终端,使用brew install
命令安装 Redis。bash
brew install redis -
启动 Redis 服务:
Homebrew 安装的 Redis 可以使用brew services
命令来方便地启动、停止和管理。“`bash
启动 Redis 服务
brew services start redis
停止 Redis 服务
brew services stop redis
重启 Redis 服务
brew services restart redis
查看服务状态
brew services list
“`你也可以直接在终端中以前台模式启动 Redis 服务器,但这通常只用于测试:
bash
redis-server /usr/local/etc/redis.conf -
验证:
bash
redis-cli ping
预期输出:PONG
Homebrew 安装的 Redis 配置文件通常位于
/usr/local/etc/redis.conf
。
4.2 包管理器安装的优缺点
-
优点:
- 安装过程极其简单快捷。
- 自动处理依赖关系。
- 通常会设置好系统服务,易于管理启动/停止。
- 升级也通常很简单(如
sudo apt upgrade redis-server
或brew upgrade redis
)。 - 卸载干净方便(如
sudo apt remove redis-server
或brew uninstall redis
)。
-
缺点:
- 安装的 Redis 版本可能不是最新的稳定版本。
- 自定义配置选项相对较少(主要通过修改配置文件)。
5. 方法三:在 Windows 上获取 Redis (推荐使用 WSL2 或 Docker)
Redis 官方不维护原生的 Windows 版本。这是因为 Redis 是基于 Posix 标准开发的,而 Windows 使用不同的系统调用。虽然有过一些第三方的 Windows 移植版本(如 Microsoft 维护的一个旧版本),但它们通常不够稳定,且版本较旧。
目前在 Windows 上使用 Redis 的最佳实践是利用 Windows Subsystem for Linux (WSL) 或 Docker。
5.1 使用 WSL2 (推荐)
WSL 允许你在 Windows 上运行一个真正的 Linux 环境。WSL2 更是采用了轻量级虚拟机技术,提供了更好的性能和系统调用兼容性,使得在 WSL2 中运行 Redis 和在原生 Linux 中几乎没有区别。
-
安装 WSL2:
如果你的 Windows 版本支持,安装 WSL2 是最推荐的方式。请按照 Microsoft 的官方文档进行安装:https://docs.microsoft.com/zh-cn/windows/wsl/install。通常只需要一个简单的命令(在管理员 PowerShell 中):powershell
wsl --install这会安装 WSL 并默认安装一个 Ubuntu 发行版。你也可以从 Microsoft Store 安装其他 Linux 发行版(如 Debian, Fedora)。
-
进入 WSL 环境:
安装完成后,从开始菜单启动你安装的 Linux 发行版(例如 Ubuntu)。你将进入一个 Linux 终端环境。 -
在 WSL 中按照 Linux 方式安装 Redis:
现在,你完全可以在 WSL 环境中,参照上面提到的 Linux 方法(方法一:从源代码编译 或 方法二:使用包管理器)来安装 Redis。- 使用包管理器 (最简单): 在 WSL 的 Ubuntu 终端中执行:
bash
sudo apt update
sudo apt install redis-server
sudo systemctl start redis-server # WSL2 支持 systemctl - 从源代码编译: 在 WSL 的终端中按照方法一的步骤进行。
- 使用包管理器 (最简单): 在 WSL 的 Ubuntu 终端中执行:
-
从 Windows 连接到 WSL 中的 Redis:
安装在 WSL 中的 Redis 默认监听在 WSL 的内部 IP 地址上。在 WSL2 中,通常可以通过localhost
从 Windows 连接到运行在 WSL 中的服务(反之亦然)。
在 Windows 的命令提示符或 PowerShell 中,你可以直接使用redis-cli
(如果你的 Windows PATH 中有它,或者下载一个 Windows 版本的 redis-cli)连接到 WSL 中的 Redis,或者通过任何支持 Redis 的应用程序连接到localhost:6379
(默认端口)。
5.2 使用 Docker Desktop
如果你习惯使用 Docker 或需要一个干净、隔离的 Redis 实例,使用 Docker 是一个极好的选择。Docker Desktop 在 Windows 上可用,它内部使用了 WSL2 或 Hyper-V 虚拟机技术来运行 Linux 容器。
-
安装 Docker Desktop for Windows:
从 Docker 官方网站下载并安装 Docker Desktop:https://www.docker.com/products/docker-desktop。 -
拉取 Redis 镜像:
打开 PowerShell 或命令提示符,使用docker pull
命令下载官方的 Redis 镜像。“`bash
docker pull redis你也可以指定版本,例如:
docker pull redis:7.2.4
“`
-
运行 Redis 容器:
使用docker run
命令启动一个 Redis 容器。“`bash
以后台模式运行,并将容器的 6379 端口映射到主机的 6379 端口
docker run –name my-redis -d -p 6379:6379 redis
如果需要数据持久化,可以挂载一个卷
docker run –name my-redis -d -p 6379:6379 -v redis_data:/data redis redis-server –appendonly yes
``
-d表示以后台模式运行。
–name my-redis给容器起一个名字方便管理。
-p 6379:6379` 将主机的 6379 端口映射到容器内部 Redis 默认监听的 6379 端口。 -
验证:
现在,在你的 Windows 终端中,你可以使用任何 Redis 客户端(包括运行在容器内的redis-cli
)连接到localhost:6379
。要进入容器内部使用
redis-cli
:
bash
docker exec -it my-redis redis-cli
然后在容器内的redis-cli
中输入PING
。或者直接从 Windows 主机连接(需要安装 Windows 版本的
redis-cli
或使用其他客户端):
bash
redis-cli -h localhost -p 6379 PING
预期输出:PONG
5.3 非官方原生 Windows 移植版 (不推荐)
历史上,Microsoft 维护了一个 Redis 的 Windows 移植版本,但早已停止更新,版本非常老旧。虽然你可能还能在 GitHub 或其他地方找到一些第三方维护的 Windows 原生版本,但通常不建议在生产环境中使用它们,因为它们可能不稳定、存在已知漏洞,且与官方版本的行为可能不完全一致。如果仅用于本地开发或快速测试,你可以自行查找并承担风险使用。强烈推荐使用 WSL2 或 Docker。
6. 使用 Docker 获取 Redis (跨平台通用)
Docker 不仅适用于 Windows,也是在 Linux 和 macOS 上获取和运行 Redis 的一个非常便捷的方式,尤其适合开发和测试环境。它的优点在于隔离性、环境一致性和快速部署。
步骤与上面 Windows 部分的 Docker 类似:
-
安装 Docker:
确保你的系统上安装了 Docker Engine (Linux) 或 Docker Desktop (macOS)。 -
拉取 Redis 镜像:
bash
docker pull redis -
运行 Redis 容器:
bash
docker run --name my-redis -d -p 6379:6379 redis
# 带持久化和配置文件的例子
# docker run --name my-redis -d -p 6379:6379 -v redis_data:/data -v /path/to/your/redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf -
验证:
bash
docker exec -it my-redis redis-cli
或从主机连接:
bash
redis-cli -h localhost -p 6379 PING
6.1 Docker 的优缺点
-
优点:
- 环境隔离,不污染主机系统。
- 部署和销毁非常快速方便。
- 环境一致性高,避免“在我机器上可以运行”的问题。
- 易于测试不同版本的 Redis。
- 方便配置持久化和自定义设置。
-
缺点:
- 需要安装和理解 Docker。
- 与直接在主机上运行相比,可能会有一点点性能开销(通常可以忽略不计)。
- 在某些情况下,容器内部与主机的文件共享或网络配置可能需要一些额外配置。
7. 如何选择适合你的下载方法?
- 你是 Linux 或 macOS 用户,并且需要最新版本的 Redis,或者想学习编译过程? -> 方法一:从源代码编译安装。
- 你是 Linux 或 macOS 用户,并且追求最简单、最快速的安装和管理方式,对版本要求不是极致最新? -> 方法二:使用包管理器安装。 这是大多数用户的首选。
- 你是 Windows 用户? -> 方法三:使用 WSL2 安装 Linux 版本 (推荐) 或 使用 Docker Desktop 运行容器。
- 你需要一个隔离的环境进行开发或测试,或者需要在不同平台获得一致的 Redis 环境? -> 方法四:使用 Docker。
8. 下载和安装后的初步配置和安全建议
无论你选择哪种安装方式,安装完成后都应该考虑以下几点:
- 配置文件: 找到你的
redis.conf
文件。这是配置 Redis 的核心。默认情况下,Redis 监听在所有网络接口上(bind 0.0.0.0 或 bind ::)并且没有密码保护,这在生产环境非常不安全*! - 绑定地址: 编辑
redis.conf
,将bind
设置为你希望监听的具体 IP 地址(例如bind 127.0.0.1
只允许本地连接,或绑定到特定的内网 IP)。 - 设置密码: 编辑
redis.conf
,找到requirepass
选项,取消注释并设置一个强密码。客户端连接时需要使用AUTH your_password
进行认证。 - 修改默认端口 (可选): 如果需要,可以修改
port
选项改变默认的 6379 端口。 - 持久化配置: 根据你的数据重要性,配置 RDB 和/或 AOF 持久化方式。
- 防火墙: 如果 Redis 需要从外部网络访问,请配置防火墙,只允许来自受信任 IP 地址的连接到 Redis 端口。
- 运行用户: 避免使用 root 用户直接运行 Redis 服务。包管理器安装通常会创建专门的
redis
用户。如果是编译安装,考虑配置 systemd 或其他服务管理工具,让 Redis 以非特权用户身份运行。
9. 总结与展望
下载和获取 Redis 是使用这个强大内存数据库的第一步。正如本文详细介绍的,你有多种方法可以选择,每种方法都有其适用场景。从追求极致控制和最新版本的源代码编译,到便捷易用的包管理器安装,再到为 Windows 用户量身打造的 WSL2 和 Docker 方案,Redis 社区提供了非常灵活的选择。
重要的是,在成功下载并运行 Redis 后,花时间去了解其配置文件,并根据你的实际需求和生产环境的安全最佳实践进行适当的配置。通过熟练掌握 Redis 的获取方式,你将能够更高效地利用其高性能的数据存储和处理能力,为你的应用程序带来显著的提升。
祝你在探索 Redis 的旅程中一切顺利!随时查阅官方文档以获取最准确和最新的信息。