---
title: 為專案加上 Redis 快取
description: 在 Google Memorystore 建立私有 Redis 快取（S 到 XL，可選高可用與 TLS），從主控台或 AI 工具以 REDIS_URL 連上專案。
url: https://agentlab.cresclab.com/docs/zh-tw/deploy/caches
language: zh-Hant
updated: 2026-10-28
---

# 為專案加上 Redis 快取

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

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

程式讀取 `REDIS_URL`（或其他 Redis 連線變數），而專案還沒有替它設定值時，從 AI 工具部署或在主控台上傳，都會在建置開始前建立一個大小 S、一般版的快取並連上，大約要 5 分鐘。什麼時候會建立、什麼時候不會，見[程式需要的資料庫和快取](https://agentlab.cresclab.com/docs/zh-tw/deploy/mcp-tools.md#auto-provision)。

## 你會得到什麼

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 分鐘後就能用。

**AI 工具**

```prompt
建立一個 Agent Lab Redis 快取，名稱 sessions，大小 S，一般版，不開 TLS，淘汰策略 noeviction。
```

助理會呼叫 `caches_create`，先給你看預覽，你同意後才建立。

## 連上專案

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

**主控台**

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

**AI 工具**

```prompt
把 orders-api 專案連到 sessions 快取，變數名稱用 REDIS_URL。
```

助理會先呼叫 `caches_binding_preview`，再帶預覽回傳的 `token` 呼叫 `caches_binding_connect`。`names` 指定每個變數對應連線的哪一部分：

```json
{ "REDIS_URL": "url", "REDIS_CA": "ca" }
```

可用的部分有 `url`、`host`、`port`、`password` 和 `ca`。開了 TLS 的快取一定要有 `ca`。

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

```js 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（快取）](https://agentlab.cresclab.com/docs/zh-tw/deploy/mcp-tools.md#caches)。
