Crescendo Lab 文件 部署
正體中文
註冊開始用

為專案加上 Redis 快取

在 Google Memorystore 建立私有 Redis 快取(S 到 XL,可選高可用與 TLS),從主控台或 AI 工具以 REDIS_URL 連上專案。

最後更新

最快的做法:讓部署幫你建立#

程式讀取 REDIS_URL(或其他 Redis 連線變數),而專案還沒有替它設定值時,從 AI 工具部署或在主控台上傳,都會在建置開始前建立一個大小 S、一般版的快取並連上,大約要 5 分鐘。什麼時候會建立、什麼時候不會,見程式需要的資料庫和快取。

你會得到什麼#

Google Memorystore 上一個獨立的 Redis 7.2 執行個體,位在台灣(asia-east1),屬於一個環境。

設定選項
記憶體S 1 GiB、M 2 GiB、L 4 GiB、XL 8 GiB。之後可以加大,不能縮小。
可用性一般版,或有備援節點可以接手的 高可用版。建立後不能更改。
TLS 加密預設關閉。建立後不能更改。打開 TLS 時,專案還需要 CA 憑證。
資料淘汰策略記憶體滿了怎麼辦:noeviction、allkeys-lru、allkeys-lfu、allkeys-random、volatile-lru、volatile-lfu、volatile-random 或 volatile-ttl。之後可以更改。
  • 私有。快取只有私有位址。只有你連上的專案碰得到它,而且要有 AUTH 密碼,AUTH 一律開啟。從你自己的電腦連不到;要從 AI 工具操作,caches_command 可以替你執行單一指令。
  • 方案數量。Free 沒有快取。Pro 可以有 5 個,Team 20 個,Business 依合約,四種大小都能選。
  • 價格。快取的價格還沒公布:主控台不顯示估價,caches_options 也不回傳價格。高可用版比一般版貴。

建立快取#

  1. 開啟 快取,按 建立快取。
  2. 填 名稱:小寫英文字母、數字和連字號,英文字母開頭,最多 63 個字元。
  3. 選擇 記憶體、可用性、TLS 加密 和 資料淘汰策略。存登入狀態或不能遺失的資料,用 noeviction;純粹當快取,用 allkeys-lru。
  4. 確認。大約 5 分鐘後就能用。

連上專案#

連上之後,連線資訊會寫進專案的隱藏值,專案也會被放行通過快取的網路。沒有人看得到密碼。

  1. 開啟快取,到 專案連線,按 綁定專案。
  2. 選專案和變數名稱,按 預覽 ENV 變更。預覽會列出會被取代的變數。
  3. 確認,並保持 注入後重新啟動專案 勾選,專案才會讀到新的值。

url 的格式是 redis://:<password>@<私有位址>:6379/0;開了 TLS 時以 rediss:// 開頭,通訊埠是 Memorystore 給 TLS 快取的 6378。大多數用戶端直接拿來用即可。開了 TLS 的話,也要把 CA 憑證交給用戶端:

server.js
import { createClient } from "redis";

const redis = createClient({
  url: process.env.REDIS_URL,
  socket: process.env.REDIS_CA ? { tls: true, ca: process.env.REDIS_CA } : undefined,
});
await redis.connect();

快取要是 可使用 狀態,專案才能連上。解除綁定會移除專案的存取權;網路權限撤銷後,憑證也會一併移除。

修改或刪除快取#

  • 在 管理 可以改名、加大記憶體或更改資料淘汰策略,也可以用 caches_update。TLS 和可用性不能改,請另外建立新的快取。
  • 刪除快取會永久刪除所有的鍵。專案連線會先被撤銷。
  • 快取的 監控 會顯示記憶體、連線、指令、命中率和被淘汰的鍵。只要有鍵被淘汰,就代表快取滿了,改用更大的大小會有幫助。

從 AI 工具操作時,caches_update 和 caches_delete 需要 caches_get 回傳的目前 generation。caches_command 只執行允許清單裡的單一 Redis 指令:讀取直接執行,寫入要你確認。AUTH、CONFIG、EVAL、FLUSH 和 KEYS 都會被拒絕。見 MCP 工具 › Redis(快取)。