Featured image of post Cloudflare Workers KV 說明及常用指令

Cloudflare Workers KV 說明及常用指令

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" }
]

也可以從網站上調整設定

  1. 點擊 “Manager Workers” 進入Worker管理頁面

step 1

  1. 點擊 “Create a worker” 建立一個worker

step 2

  1. 點擊下面的 “Save and Dev”

step 3

  1. 點擊"Settings" 進入Worker的設定頁面

step 4

  1. 點擊 “Add Binding” 新增Namesace

step 5

  1. 輸入"Variable name"和"KV Namespace",是在worker中使用的名稱 ex:“MY_KV”

step 6

從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.