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)。 會自動選取第一個可用的伺服器。 - 資料庫:選擇要瀏覽的邏輯資料庫,顯示為
DB0、DB1等。 資料庫的數量讀取自伺服器的databases設定(預設 16),因此清單通常從DB0到DB15。
切換伺服器會將選擇重設回 DB0 並重新載入鍵清單。
鍵清單
所選資料庫的鍵清單以分頁表格顯示,包含以下欄:
- 鍵:鍵名。
- 類型:Redis 資料類型,顯示為彩色標籤——
string、list、set、hash或zset之一。 - 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,以避免將巨大的負載拉取到瀏覽器中。
建立或更新鍵
點選 建立鍵 開啟鍵編輯器。 填寫表單並點選 提交:
- 類型:選擇
String、List、Set、ZSet或Hash之一。 - 鍵:鍵名。 設定一個已存在的鍵名會覆寫該鍵。
- 值:要儲存的值。 預期格式取決於類型:
- 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會移除到期時間並使鍵變為永久(RedisPERSIST)。 - 正值會將鍵設定為在那麼多秒後到期(Redis
EXPIRE)。
最小可接受值為 -1。
重新命名鍵
點選某一列的 重新命名 來變更鍵名。 目前名稱以唯讀方式顯示;輸入新名稱並點選 提交(Redis RENAME)。
注意
如果新名稱的鍵已存在,它會被覆寫。
刪除鍵
點選某一列的 刪除 並確認,即可從目前資料庫中移除單個鍵。
清空資料庫
點選 清空資料庫 移除目前所選資料庫中的所有鍵(Redis FLUSHDB)。 執行前需要確認。
警告
清空資料庫會永久刪除所選資料庫中的每一個鍵。 此操作無法復原! 請確保你已選擇正確的資料庫,並事先備份了所有重要資料。
常見問題
無法連接到 Redis 伺服器
- 確認所選伺服器的類型為 Redis,且其主機、連接埠和密碼正確。
- 確認 Redis 服務正在執行,並且可以從面板主機存取。
- 在 資料庫 > 伺服器 標籤頁中檢查伺服器狀態。
儲存非字串鍵失敗
- 對於 list 和 set 類型,值必須是有效的 JSON 陣列。
- 對於 zset,值必須是
{member: score}對的 JSON 物件。 - 對於 hash,值必須是欄位/值對的 JSON 物件。
鍵顯示為已到期
TTL 為 Expired 表示鍵已經到期,在 Redis 中不再存在。 重新整理清單即可將其從檢視中移除。
