跳转到内容

Redis 数据管理

Redis 数据管理页面让你在线浏览和编辑 Redis 键:选择数据库、列出并搜索键、查看/创建/更新/删除键、设置键的 TTL,以及清空整个数据库。

TIP

此功能在 v3.1.0 新增。

前置条件

Redis 数据管理针对类型为 Redis 的数据库服务器进行操作。 使用前,请确保在 数据库 > 服务器 标签页中有可用的 Redis 服务器:

  • 安装本地 Redis(或 Valkey)应用后,AcePanel 会自动添加一个内置的本地服务器(local_redis / local_valkey)。
  • 对于远程 Redis 实例,请在 服务器 标签页中添加。 Redis 服务器不使用用户名;只需要地址、端口和密码。

打开页面

进入 数据库 页面并切换到 Redis 标签页。 与关系型数据库标签页不同,Redis 完全从这个数据视图管理,而不是从数据库列表管理。

选择服务器和数据库

页面顶部有两个选择器:

  • 服务器:选择要操作的 Redis 服务器。 每个选项显示为 name (host:port)。 会自动选中第一个可用的服务器。
  • 数据库:选择要浏览的逻辑数据库,显示为 DB0DB1 等。 数据库的数量读取自服务器的 databases 配置(默认 16),因此列表通常从 DB0DB15

切换服务器会将选择重置回 DB0 并重新加载键列表。

键列表

所选数据库的键列表以分页表格显示,包含以下列:

  • :键名。
  • 类型:Redis 数据类型,显示为彩色标签——stringlistsethashzset 之一。
  • TTL:剩余存活时间。
    • Permanent —— 键永不过期(TTL 为 -1)。
    • Expired —— 键已不存在(TTL 为 -2)。
    • 否则显示剩余秒数,例如 120s
  • 大小:键占用的近似内存,由 Redis MEMORY USAGE 报告,并以人类可读的单位(如 KB 或 MB)显示。
  • 操作:每个键的 查看TTL重命名删除 按钮。

分页支持每页 20、50、100 和 200 个键(默认 20)。

TIP

键通过 Redis SCAN 命令枚举,在生产实例上运行是安全的,不会阻塞服务器。

搜索键

使用搜索框(占位符 user:*)按 glob 风格的模式过滤键,然后点击 搜索 或按 Enter。 模式遵循 Redis MATCH 语法,例如:

  • user:* —— 所有以 user: 开头的键
  • session:?? —— session: 后跟恰好两个字符
  • 留空则列出所有键(等同于 *)。

查看键

点击某一行的 查看 打开键详情对话框。 对话框显示:

  • 类型:键的数据类型(只读)。
  • :键名(只读)。
  • :键的值。
  • TTL:剩余存活时间。

值根据类型以文本形式渲染:

  • string —— 原始字符串值。
  • list / set —— 元素的 JSON 数组。
  • hash —— 字段/值对的 JSON 对象。
  • zset —— 成员/分数对的 JSON 对象。

注意

对于非常大的值(元素超过 5000 个的集合,或长度超过 5000 个字符的字符串),不会加载该值,并显示为 data is too long, can't display,以避免将巨大的负载拉取到浏览器中。

创建或更新键

点击 创建键 打开键编辑器。 填写表单并点击 提交

  • 类型:选择 StringListSetZSetHash 之一。
  • :键名。 设置一个已存在的键名会覆盖该键。
  • :要存储的值。 预期格式取决于类型:
    • String —— 纯文本。
    • List / Set —— JSON 数组,例如 ["a", "b", "c"]
    • ZSet —— 将成员映射到分数的 JSON 对象,例如 {"alice": "10", "bob": "20"}
    • Hash —— 将字段映射到值的 JSON 对象,例如 {"name": "alice", "age": "20"}
  • TTL:过期时间(秒)。 使用 -1(或任何不大于 0 的值)表示不过期;正值则将键设置为在那么多秒后过期。

值是必填的,且类型必须是五种受支持类型之一。

注意

当你保存非字符串键(list、set、zset 或 hash)时,会先删除同名的现有键,然后根据你提供的值重新构建。 因此保存操作会替换整个集合,而不是追加到其中。

TIP

查看 对话框是只读的——类型和键字段被禁用,且那里没有保存操作。 要更改值,请使用 创建键 并输入相同的键名来覆盖它。

设置键的 TTL

点击某一行的 TTL 打开 TTL 对话框。 键名以只读方式显示;输入新的 TTL(秒)并点击 提交

  • 值为 -1 会移除过期时间并使键变为永久(Redis PERSIST)。
  • 正值会将键设置为在那么多秒后过期(Redis EXPIRE)。

最小可接受值为 -1

重命名键

点击某一行的 重命名 来更改键名。 当前名称以只读方式显示;输入新名称并点击 提交(Redis RENAME)。

注意

如果新名称的键已存在,它会被覆盖。

删除键

点击某一行的 删除 并确认,即可从当前数据库中移除单个键。

清空数据库

点击 清空数据库 移除当前所选数据库中的所有键(Redis FLUSHDB)。 运行前需要确认。

警告

清空数据库会永久删除所选数据库中的每一个键。 此操作无法撤销! 请确保你已选择正确的数据库,并事先备份了所有重要数据。

常见问题

无法连接到 Redis 服务器

  • 确认所选服务器的类型为 Redis,且其主机、端口和密码正确。
  • 确认 Redis 服务正在运行,并且可以从面板主机访问。
  • 数据库 > 服务器 标签页中检查服务器状态。

保存非字符串键失败

  • 对于 list 和 set 类型,值必须是有效的 JSON 数组。
  • 对于 zset,值必须是 {member: score} 对的 JSON 对象。
  • 对于 hash,值必须是字段/值对的 JSON 对象。

键显示为已过期

TTL 为 Expired 表示键已经过期,在 Redis 中不再存在。 刷新列表即可将其从视图中移除。