Cloudflare Workers KV 介紹
Cloudflare Workers KV 我認為他是一個資料很像,worlers的架構是一個Namespace(可以假裝他是資料表的名字),裡面可以存放很多的Key以及對應的Values,vales所存放的資料格式,只是這個資料表會被儲存到全球的主機上,這個將資料傳遞、部署的過程大約一分鐘。
它可以被用來作為快取的功能,像是它針對高速的讀取提供一個很好的平台。
最近(11/24)開放可以免費的使用,之前最低收費是要$5美元每個月的樣子,也因為它突然開放我才能玩它。
常用操作
這只能搭配他們家的Workers使用。
在Workers 裡面使用
Get
從Workers讀取資料
await short_urls.get(key)
使用範例:
async function getCache(key) {
await NAMESPACE.get(key)
}
const results = await getCache(url.pathname.slice(1))
Put
將資料存到Workers
await short_urls.put(key, data)
使用範例:
async function setCache(key, data) {
await short_urls.put(key, data)
}
setCache(KEY, VALUE)
搭配Worker使用
在worker使用Namespace前
如果是在本機編輯記得在wrangler.toml
新增
kv_namespaces = [
{ binding = "MY_KV", id = "95ad1ac556dc4XXXXXXXXX8bae8018d1" }
]
也可以從網站上調整設定
- 點擊 “Manager Workers” 進入Worker管理頁面
- 點擊 “Create a worker” 建立一個worker
- 點擊下面的 “Save and Dev”
- 點擊"Settings" 進入Worker的設定頁面
- 點擊 “Add Binding” 新增Namesace
- 輸入"Variable name"和"KV Namespace",是在worker中使用的名稱 ex:“MY_KV”
從Commend操作
建立Namespace
$ wrangler kv:namespace create "MY_KV"
刪除Namespace
$ wrangler kv:namespace delete --binding=MY_KV
列出Namespace
$ wrangler kv:namespace list
在Namespace加入資料
$ wrangler kv:key put --binding=MY_KV "key" "value"
列出Namespace中的所有Key
$ wrangler kv:key list --binding=MY_KV --prefix="public" | jq "."
📖 Ref.
- https://developers.cloudflare.com/workers/runtime-apis/kv
- https://developers.cloudflare.com/workers/cli-wrangler
- How KV works · Cloudflare Workers docs