Introduction
KV on Deno Deploy lets you store and get small pieces of data quickly on the cloud. It helps your app remember things between visits.
KV on Deno Deploy lets you store and get small pieces of data quickly on the cloud. It helps your app remember things between visits.
const kv = await Deno.openKv(); // Save data await kv.set(["key"], "value"); // Get data const result = await kv.get(["key"]); const value = result.value;
await because these operations are asynchronous.["key"] and values can be strings, numbers, or JSON objects.await kv.set(["username"], "alice"); const result = await kv.get(["username"]); const user = result.value;
await kv.set(["count"], 5); const result = await kv.get(["count"]); const count = result.value;
await kv.set(["settings"], { theme: "dark", fontSize: 16 }); const result = await kv.get(["settings"]); const settings = result.value;
This simple server counts how many times the /visit path is called. It saves the count in KV and shows it to the user.
import { serve } from "https://deno.land/std@0.201.0/http/server.ts"; const kv = await Deno.openKv(); serve(async (req) => { const url = new URL(req.url); if (url.pathname === "/visit") { // Get current count or 0 const result = await kv.get(["visit_count"]); const count = (result.value as number) ?? 0; // Increase count await kv.set(["visit_count"], count + 1); const numVisits = count + 1; const timeStr = numVisits === 1 ? "time" : "times"; return new Response(`This page was visited ${numVisits} ${timeStr}.`); } return new Response("Use /visit to count visits.", { status: 404 }); });
KV storage is fast but best for small data, not big files.
Data saved in KV stays until you delete it or overwrite it.
Always handle missing keys by providing default values.
KV on Deno Deploy stores small data pieces in the cloud.
Use kv.set to save and kv.get to read data.
Great for counters, preferences, and caching.
const value = await kv.get('visits');
console.log(value);
Assuming 'visits' key was never set before.const result = kv.set('score', 100);
console.log('Score saved:', result);Pass the test and this pattern moves unknown