如何下载 Redis – wiki基地


如何下载 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 为例)

  1. 访问 Redis 官方网站或 GitHub 仓库:
    最新的稳定版本通常发布在 Redis 官方网站 (redis.io) 的下载页面。你也可以直接访问其 GitHub 仓库 (github.com/redis/redis) 获取最新的开发版本或特定标签的版本。

    打开浏览器,前往 https://redis.io/download。你会看到当前稳定版本的源代码压缩包链接(通常是 .tar.gz 格式)。

  2. 下载源代码压缩包:
    在你的 Linux 终端中,使用 wgetcurl 命令下载源代码压缩包。例如,如果最新版本是 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 最后一部分相同的文件名中。

  3. 解压源代码包:
    下载完成后,使用 tar 命令解压压缩包:

    bash
    tar -xzf redis-7.2.4.tar.gz

    -x 表示解压,-z 表示使用 gzip 解压,-f 指定文件名。解压后会生成一个与压缩包同名的目录(例如 redis-7.2.4)。

  4. 进入源代码目录:
    使用 cd 命令进入刚刚解压的源代码目录:

    bash
    cd redis-7.2.4

  5. 编译 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 测试套件所必需的。
  6. 运行测试套件 (可选但强烈推荐):
    编译成功后,你可以运行 Redis 内置的测试套件,以确保一切正常工作。这需要 tcl 环境。

    bash
    make test

    如果所有测试都通过,你会看到类似 “All tests passed!” 的消息。如果测试失败,可能存在兼容性问题或编译错误,通常需要检查错误输出并查找原因。

  7. 安装 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 环境变量中。

3.2 编译安装的优缺点

  • 优点:

    • 获取最新版本的 Redis。
    • 可以对编译选项进行更细粒度的控制(尽管不常用)。
    • 深入了解 Redis 的构建过程。
    • 跨平台性强(在任何支持标准 C 编译器的类 Unix 系统上都可以)。
  • 缺点:

    • 需要安装构建工具链和依赖。
    • 过程相对包管理器更复杂一些。
    • 安装后的服务管理(启动、停止、重启)需要手动或通过 systemd/init.d 配置,不像包管理器那样自动化。
    • 卸载不像包管理器那样简单(通常需要手动删除安装的文件)。

3.3 启动和验证 (编译安装后)

编译安装后,Redis 服务并不会自动启动。你需要手动启动它:

  1. 以后台方式启动 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 文件的位置。

  2. 以前台方式启动 Redis 服务器 (仅用于测试):
    你也可以不使用配置文件,直接启动一个默认配置的 Redis 实例,但这仅适用于快速测试。

    bash
    redis-server

    这将以前台模式启动,会阻塞当前终端。按 Ctrl+C 停止。

  3. 使用 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 包管理器):

  1. 更新包列表:
    在安装新软件包之前,总是推荐更新你的本地包列表。

    bash
    sudo apt update

  2. 安装 Redis 服务器:
    使用 apt install 命令安装 redis-server 包。这会自动安装 Redis 服务器及其相关的依赖(包括 redis-cli)。

    bash
    sudo apt install redis-server

  3. 检查 Redis 服务状态:
    安装完成后,Redis 服务通常会自动启动。你可以使用 systemctl 命令来检查其状态:

    bash
    sudo systemctl status redis-server

    如果看到 “active (running)” 字样,说明服务正在运行。

  4. 管理 Redis 服务:
    你可以使用 systemctl 命令来启动、停止或重启 Redis 服务:

    bash
    sudo systemctl start redis-server
    sudo systemctl stop redis-server
    sudo systemctl restart redis-server

  5. 验证:
    使用 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。命令非常相似。

  1. 安装 Redis:
    使用 yum installdnf install 命令安装 Redis。

    “`bash

    对于较新系统 (Fedora, CentOS Stream, RHEL 8+)

    sudo dnf install redis

    对于较旧系统 (CentOS/RHEL 7 及以前)

    sudo yum install redis
    “`

  2. 启动 Redis 服务:
    安装后服务可能不会自动启动,需要手动启动并设置开机自启。

    bash
    sudo systemctl start redis

  3. 设置开机自启 (可选):
    bash
    sudo systemctl enable redis

  4. 检查 Redis 服务状态:
    bash
    sudo systemctl status redis

  5. 验证:
    bash
    redis-cli ping

    预期输出:PONG

    包管理器安装的 Redis 配置文件通常位于 /etc/redis.conf

4.1.3 在 macOS (使用 Homebrew):

Homebrew 是 macOS 上非常流行的包管理器。如果你的 Mac 上没有安装 Homebrew,请先按照其官方网站 (https://brew.sh/) 的指示进行安装。

  1. 安装 Redis:
    打开终端,使用 brew install 命令安装 Redis。

    bash
    brew install redis

  2. 启动 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

  3. 验证:
    bash
    redis-cli ping

    预期输出:PONG

    Homebrew 安装的 Redis 配置文件通常位于 /usr/local/etc/redis.conf

4.2 包管理器安装的优缺点

  • 优点:

    • 安装过程极其简单快捷。
    • 自动处理依赖关系。
    • 通常会设置好系统服务,易于管理启动/停止。
    • 升级也通常很简单(如 sudo apt upgrade redis-serverbrew upgrade redis)。
    • 卸载干净方便(如 sudo apt remove redis-serverbrew 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 中几乎没有区别。

  1. 安装 WSL2:
    如果你的 Windows 版本支持,安装 WSL2 是最推荐的方式。请按照 Microsoft 的官方文档进行安装:https://docs.microsoft.com/zh-cn/windows/wsl/install。通常只需要一个简单的命令(在管理员 PowerShell 中):

    powershell
    wsl --install

    这会安装 WSL 并默认安装一个 Ubuntu 发行版。你也可以从 Microsoft Store 安装其他 Linux 发行版(如 Debian, Fedora)。

  2. 进入 WSL 环境:
    安装完成后,从开始菜单启动你安装的 Linux 发行版(例如 Ubuntu)。你将进入一个 Linux 终端环境。

  3. 在 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 的终端中按照方法一的步骤进行。
  4. 从 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 容器。

  1. 安装 Docker Desktop for Windows:
    从 Docker 官方网站下载并安装 Docker Desktop:https://www.docker.com/products/docker-desktop

  2. 拉取 Redis 镜像:
    打开 PowerShell 或命令提示符,使用 docker pull 命令下载官方的 Redis 镜像。

    “`bash
    docker pull redis

    你也可以指定版本,例如:

    docker pull redis:7.2.4

    “`

  3. 运行 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 端口。

  4. 验证:
    现在,在你的 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 类似:

  1. 安装 Docker:
    确保你的系统上安装了 Docker Engine (Linux) 或 Docker Desktop (macOS)。

  2. 拉取 Redis 镜像:
    bash
    docker pull redis

  3. 运行 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

  4. 验证:
    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 的旅程中一切顺利!随时查阅官方文档以获取最准确和最新的信息。


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部