在前面我們已經認識了 Cloudflare Workers,這次要帶大家更進一步,介紹它的好搭檔 —— Workers KV (Key-Value Store)。
它是許多邊緣應用的核心元件,能讓我們快速實現全球同步的資料儲存,特別適合和 Workers 一起組合成完整的後端服務。
Workers KV 是一個 全球分散式、最終一致性 (Eventually Consistent) 的 Key-Value 資料庫。
簡單來說,它就像一個放在 Cloudflare 邊緣節點上的「資料快取層」,讀取速度快、維護簡單,而且能支援大量資料。
想像一下:如果你要在台灣、美國、日本都同時提供設定檔、快取或 session 存取,KV 就能讓你免去建置全球資料庫叢集的麻煩。
快取設定
儲存 API 回應或設定檔,避免每次都打遠端資料庫。
使用者 Session
把 JWT Token、登入狀態存在 KV,快速驗證。
黑名單 / 白名單
儲存需要即時查詢的 IP 或帳號清單。
短網址服務
把短代碼和原始網址對應起來。
功能開關 (Feature Flags)
用來做 A/B 測試或動態開關功能。
從 Workers 的設定在,在「繫結」可以綁定KV
KV中是 Key Value 的資料庫
export default {
async fetch(request, env) {
const url = new URL(request.url);
// 寫入資料
if (url.pathname === "/set") {
await env.MY_KV.put("greeting", "Hello, KV!");
return new Response("Data saved to KV");
}
// 讀取資料
if (url.pathname === "/get") {
const value = await env.MY_KV.get("greeting");
return new Response(value || "Not found");
}
return new Response("KV Demo");
},
};
雖然 KV 很方便,但也有一些限制要注意:
put
、delete
可能比本地記憶體或 Redis 慢。Workers KV 提供了一個簡單卻強大的工具,讓我們可以在 全球邊緣節點存取資料,並且與 Workers 形成互補:
如果你的應用需要 全球快速讀取、少量寫入,那麼 Workers KV 絕對是最佳選擇。 🚀
雖然70元的售價有點貴,不貴沙威瑪配上沙拉醬就是好吃