Valkey 安装配置:一步步教你搭建 – wiki词典


Valkey 安装配置:一步步教你搭建

1. 简介

Valkey 是一个高性能、开源的内存数据存储,最初源于 Redis 的一个分支,由 Linux 基金会支持。它提供了键值存储和多种数据结构,以微秒级的延迟操作著称,是缓存、消息队列和实时分析等场景的理想选择。本指南将详细介绍 Valkey 的安装和配置过程,帮助你轻松搭建 Valkey 服务。

2. 安装 Valkey

Valkey 的安装方式多种多样,你可以根据自己的操作系统和偏好选择最合适的方法。

2.1 从源代码编译安装

从源代码安装可以让你获得最新版本并进行更灵活的定制。

  1. 下载最新版本:
    访问 Valkey 官方网站 valkey.io/download 或 Valkey 的 GitHub 发布页面,下载最新的 valkey-X.Y.Z.tar.gz 压缩包(请将 X.Y.Z 替换为实际版本号)。

  2. 解压文件:
    打开终端,使用 tar 命令解压下载的压缩包:
    bash
    tar -xzvf valkey-X.Y.Z.tar.gz

  3. 进入目录:
    进入解压后的 Valkey 目录:
    bash
    cd valkey-X.Y.Z

  4. 编译:
    运行 make 命令编译 Valkey。这可能需要几分钟时间。
    bash
    make

  5. 安装 (可选):
    编译成功后,你可以选择将 Valkey 的可执行文件安装到系统路径(例如 /usr/local/bin),以便在任何位置直接运行。
    bash
    sudo make install

    注意: make install 并非必需,你也可以直接从 Valkey 源代码目录运行可执行文件。

2.2 使用包管理器安装

对于大多数 Linux 和 macOS 用户,使用系统自带的包管理器是最便捷的方式。

  • macOS (Homebrew):
    bash
    brew install valkey
    # 启动 Valkey 服务
    brew services start valkey
    # 查看服务状态
    brew services info valkey
    # 停止服务
    brew services stop valkey

  • Debian/Ubuntu (apt):
    bash
    sudo apt update
    sudo apt install valkey
    # 如果需要兼容 Redis 命令行工具(如 redis-cli),可以安装 valkey-redis-compat
    sudo apt install valkey-redis-compat

  • CentOS/RHEL/Fedora (yum):
    bash
    sudo yum install valkey
    # 如果需要兼容 Redis 命令行工具(如 redis-cli),可以安装 valkey-compat-redis
    sudo yum install valkey-compat-redis

  • Alpine Linux (apk):
    bash
    sudo apk update
    sudo apk add valkey
    # 如果需要 valkey-cli 命令行工具
    sudo apk add valkey-cli
    # 如果需要兼容 Redis 命令行工具
    sudo apk add valkey-compat

2.3 使用 Docker 安装

Docker 提供了一种轻量级、可移植的方式来运行 Valkey,特别适合开发和测试环境。

  1. 拉取 Valkey 镜像:
    bash
    docker pull valkey/valkey

  2. 运行 Valkey 容器:
    bash
    docker run -d --name valkey -p 6379:6379 valkey/valkey

    这条命令会在后台运行一个名为 valkey 的容器,并将容器的 6379 端口映射到主机的 6379 端口。

  3. 持久化存储 (推荐):
    为了确保数据在容器重启后不丢失,应使用 Docker 卷进行持久化存储:
    bash
    docker run -d --name valkey -p 6379:6379 -v /path/to/your/valkey_data:/data valkey/valkey

    /path/to/your/valkey_data 替换为你希望存储数据的本地路径。

2.4 在 Windows 上安装 (通过 WSL)

Valkey 官方不直接支持 Windows,但可以通过 Windows Subsystem for Linux (WSL) 在 Windows 上运行 Linux 环境中的 Valkey。

  1. 启用 WSL: 确保你的 Windows 系统已启用 WSL 并安装了一个 Linux 发行版(如 Ubuntu)。
  2. 在 WSL 中安装: 进入 WSL 终端,按照上述 Linux 环境下的包管理器或从源代码编译的方法安装 Valkey。

3. 运行 Valkey

安装完成后,你可以启动 Valkey 服务。

3.1 在前台运行

这通常用于开发或测试,可以方便地查看日志输出。

bash
valkey-server

要停止服务,只需在终端按下 Ctrl-C

3.2 作为后台守护进程运行

对于生产环境,强烈建议将 Valkey 作为后台守护进程运行,这需要通过配置文件进行管理。

4. 基本配置 (valkey.conf)

Valkey 的核心配置通过 valkey.conf 文件进行。即使 Valkey 可以使用内置的默认配置启动,但使用专门的配置文件是最佳实践。

  1. 定位/创建配置文件:
    通常,Valkey 源代码的根目录会包含一个 valkey.conf 模板文件。建议将其复制到一个标准位置进行管理,例如 /etc/valkey/
    bash
    sudo mkdir -p /etc/valkey
    # 假设你当前在 valkey 源代码目录
    sudo cp valkey.conf /etc/valkey/6379.conf

    将配置文件命名为 6379.conf 是一种常见做法,尤其是当你计划运行多个 Valkey 实例时,可以按端口号区分。

  2. 编辑配置文件:
    使用你喜欢的文本编辑器打开配置文件(例如 /etc/valkey/6379.conf),并修改以下关键指令:

    • port 6379: Valkey 监听的端口。默认是 6379。
    • bind 127.0.0.1: 绑定 Valkey 监听的 IP 地址。
      • 127.0.0.1:只允许本地连接。这是最安全的默认设置。
      • 0.0.0.0:允许所有网络接口上的连接。请谨慎使用此设置,并务必配合防火墙规则和密码认证来确保安全。
    • daemonize yes: 将 Valkey 作为后台守护进程运行。
    • pidfile /var/run/valkey_6379.pid: 指定存储进程 ID (PID) 的文件路径。
    • logfile /var/log/valkey_6379.log: 指定 Valkey 日志文件的路径。
    • dir /var/valkey/6379: 指定 Valkey 的工作目录。RDB 快照文件和 AOF 文件将存储在此目录中。请确保此目录存在且 Valkey 进程有写入权限。

    示例 valkey.conf 关键配置片段:
    “`ini

    监听端口

    port 6379

    绑定 IP 地址

    bind 127.0.0.1

    作为守护进程运行

    daemonize yes

    PID 文件路径

    pidfile /var/run/valkey_6379.pid

    日志文件路径

    logfile /var/log/valkey_6379.log

    工作目录

    dir /var/valkey/6379
    “`

  3. 使用配置文件启动 Valkey:
    bash
    valkey-server /etc/valkey/6379.conf

  4. 应用配置更改:
    如果 Valkey 已经在运行,修改 valkey.conf 后需要重启 Valkey 服务器才能使更改生效。某些参数可以在运行时使用 CONFIG SET 命令修改,但这些修改在服务器重启后不会持久化,除非使用 CONFIG REWRITE 命令将更改写入配置文件。

5. 安全配置

确保 Valkey 实例的安全至关重要,尤其是在生产环境中。

  • 绑定地址 (bind): 始终将 Valkey 绑定到 127.0.0.1 (localhost) 或受信任的特定网络接口。除非有充分的理由和严格的安全措施,否则避免绑定到 0.0.0.0
  • 防火墙: 配置系统防火墙 (如 ufw, firewalld) 限制对 Valkey 默认端口 (6379) 的非信任网络访问。
  • 密码认证 (requirepass): 设置一个强密码来保护 Valkey 实例。
    valkey.conf 中添加或修改:
    ini
    requirepass your_strong_password_here

    客户端连接时,需要使用 AUTH your_strong_password_here 命令进行认证。
  • 用户指令 (user): 对于更精细的权限控制,可以使用 user 指令为不同的应用程序或用户定义具有特定权限的访问凭证。

6. 持久化配置

Valkey 提供了两种持久化方式,以确保数据在服务器重启后不会丢失。

  • RDB 快照 (RDB Snapshots):
    RDB (Redis Database) 方式在指定时间间隔内,将数据集合的快照保存到磁盘上的 .rdb 文件中。
    valkey.conf 中配置 save 指令:
    ini
    # 如果 900 秒内 (15 分钟) 至少有 1 个键被修改,则保存
    save 900 1
    # 如果 300 秒内 (5 分钟) 至少有 10 个键被修改,则保存
    save 300 10
    # 如果 60 秒内 (1 分钟) 至少有 10000 个键被修改,则保存
    save 60 10000

    确保 dir 指令指向一个安全且有足够空间的目录。

  • AOF (Append Only File):
    AOF 以日志形式记录每一次写操作,Valkey 启动时会重新执行 AOF 文件中的命令来恢复数据,提供更高的数据持久性。
    valkey.conf 中启用 AOF:
    ini
    appendonly yes

7. 内存管理

高效的内存管理对于 Valkey 的性能至关重要。

  • 最大内存限制 (maxmemory):
    设置一个内存使用上限,防止 Valkey 耗尽系统内存。
    valkey.conf 中配置:
    ini
    maxmemory 1gb

    这会将 Valkey 的最大内存使用限制为 1GB。

  • 内存淘汰策略 (Eviction Policies):
    当达到 maxmemory 限制时,Valkey 需要知道如何处理新的写入请求。
    valkey.conf 中配置 maxmemory-policy
    ini
    maxmemory-policy allkeys-lru

    常见的淘汰策略包括:

    • allkeys-lru: 从所有键中淘汰最近最少使用的键 (Least Recently Used)。
    • volatile-lru: 从设置了过期时间的键中淘汰最近最少使用的键。
    • allkeys-random: 随机淘汰所有键。
    • noeviction: 当内存不足时,新的写入操作会返回错误。

8. 测试安装

完成安装和配置后,务必验证 Valkey 是否正常运行。

  1. 使用 valkey-cli 连接:
    bash
    valkey-cli

    如果配置了密码,连接后需要先认证:
    bash
    AUTH your_strong_password_here

  2. Ping 服务器:
    连接成功后,尝试 PING 命令:
    PING
    如果返回 PONG,表示服务器正常响应。

  3. 测试数据操作:
    尝试设置和获取一个键值对:
    SET mykey "Hello Valkey"
    GET mykey

    如果能成功获取到 “Hello Valkey”,说明数据存储正常。

  4. 检查日志:
    查看你配置的 logfile(例如 /var/log/valkey_6379.log),确认 Valkey 是否有异常或错误信息。

  5. 验证持久化 (如果启用):
    如果你启用了 RDB 持久化,可以手动触发一次保存:
    bash
    valkey-cli SAVE

    然后检查 dir 目录下是否有 dump.rdb 文件生成。

通过以上步骤,你就可以成功安装、配置并验证你的 Valkey 实例了。享受 Valkey 带来的高性能数据存储体验吧!


滚动至顶部