跳轉到內容

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 中不再存在。 重新整理清單即可將其從檢視中移除。