Edge computing med Cloudflare Workers och Deno · Lektion

Cloudflare KV-lager

Använd Cloudflare Workers KV för nyckel-värdelagring vid edge, vilket passar utmärkt för cachelagring och konfiguration

Lektion 1 av 412 steg

Cloudflare KV-lager är en gratis lektion i Edge computing med Cloudflare Workers och Deno på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Edge computing med Cloudflare Workers och Deno, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Edge computing med Cloudflare Workers och Deno innehåller totalt 4 lektioner.

Data vid edge med KV Store

Välkomna till Cloudflare KV! Det är ett mycket distribuerat nyckelvärdelager som körs på Cloudflares globala nätverk, direkt vid edge.

Det innebär att era data lagras mycket nära användarna, vilket ger extremt snabb åtkomst och låg fördröjning. Det passar utmärkt för dynamiskt innehåll, konfiguration och cachelagring.

Så fungerar nyckelvärden

Ett nyckelvärdelager fungerar ungefär som en enkel ordlista eller map. Data lagras som unika nyckel-värde-par. Nyckeln är en unik identifierare (en sträng), och värdet är de data som hör till nyckeln.

  • Nycklar: Tänk på dem som unika namn, till exempel "user_id_123" eller "website_config".
  • Värden: Det här är själva datan, som kan vara strängar, tal, JSON-objekt (som strängar) eller till och med binärdata.

Fördelarna med KV vid edge

Varför använda KV vid edge?

  • Hastighet: Data levereras från närmaste Cloudflare-datacenter, vilket minskar fördröjningen.
  • Enkelhet: KV saknar schema, vilket gör det enkelt att lagra och hämta data utan komplexa databasscheman.
  • Skalbarhet: Skalar automatiskt för att hantera enorm trafik och global distribution.
  • Kostnadseffektivitet: Är ofta mer ekonomiskt för specifika användningsområden jämfört med traditionella databaser.

Praktiska användningsområden för KV

Cloudflare KV kan användas till många uppgifter som är specifika för edge:

  • Cachelagring: Lagra ofta efterfrågade API-svar, HTML-fragment eller statiska resurser.
  • Konfiguration: Hantera dynamiska feature flags, inställningar för A/B-tester eller omdirigeringsregler.
  • Personanpassning: Lagra enkla användarinställningar, till exempel val av tema eller språk.
  • Hastighetsbegränsning: Hålla reda på antalet förfrågningar per användare eller IP-adress.

Skapa ett KV-namespace

Innan ni använder KV måste ni skapa ett namespace. Ett namespace är en logisk behållare för era nyckel-värde-par som håller datan organiserad.

Ni kan skapa ett nytt KV-namespace via Cloudflare-dashboarden eller med Wrangler CLI (Cloudflares kommandoradsverktyg).

Binda KV till er Worker

För att använda ett KV-namespace i er Worker måste ni binda det i konfigurationsfilen wrangler.toml. Då blir KV-namespacet tillgängligt som en global variabel i Worker-skriptet.

Så här definierar ni en bindning:

name = "my-worker"
main = "src/index.js"
compatibility_date = "2024-01-01"

[[kv_namespaces]]
binding = "MY_KV_STORE" # The variable name in your Worker
id = "YOUR_NAMESPACE_ID" # Get this from Cloudflare dashboard

Lagra data med `put`

Metoden put() används för att lagra data i ert KV-namespace. Den tar en nyckel och ett värde som argument. Värden kan vara strängar, ArrayBuffers eller ReadableStreams.

Prova att köra den här exempel-Workern:

export default {
  async fetch(request, env, ctx) {
    const key = "user_setting";
    const value = "dark_mode";
    
    // Store the value in the MY_KV_STORE namespace
    await env.MY_KV_STORE.put(key, value);
    
    return new Response(`Stored '${value}' for key '${key}'`);
  },
};

Hämta data med `get`

För att hämta ett värde använder ni metoden get() och anger nyckeln. Om nyckeln inte finns returnerar get() null.

Det här exemplet försöker hämta inställningen som vi nyss lagrade:

export default {
  async fetch(request, env, ctx) {
    const key = "user_setting";
    
    // Retrieve the value from the MY_KV_STORE namespace
    const value = await env.MY_KV_STORE.get(key);
    
    if (value === null) {
      return new Response(`Key '${key}' not found.`, { status: 404 });
    }
    
    return new Response(`Retrieved: '${value}'`);
  },
};

Ta bort data med `delete`

Om ni behöver ta bort ett nyckel-värde-par från ert namespace använder ni metoden delete() med nyckeln som ska tas bort.

Så här tar ni bort den lagrade inställningen:

export default {
  async fetch(request, env, ctx) {
    const key = "user_setting";
    
    // Delete the key-value pair from the MY_KV_STORE namespace
    await env.MY_KV_STORE.delete(key);
    
    return new Response(`Key '${key}' deleted.`);
  },
};

Lista nycklar i KV

Cloudflare KV tillhandahåller även metoden list() för att hämta en lista över nycklarna i ett namespace. Det kan vara användbart för administrativa uppgifter eller för att förstå innehållet i ert KV-lager.

Metoden returnerar ofta ett objekt som innehåller en array med keys och en boolesk variabel list_complete.

// Example of listing keys (inside a Worker's fetch handler)
const { keys } = await env.MY_KV_STORE.list();

// To get just the names:
const keyNames = keys.map(k => k.name);
console.log(keyNames);

Kontroll av KV-operationer

Vilka av följande påståenden om Cloudflare KV är sanna?

Sammanfattning: Cloudflare KV Store

I den här lektionen har ni lärt er mer om Cloudflare KV, ett kraftfullt nyckelvärdelager som är optimerat för edge. Vi gick igenom:

  • Vad KV är och dess fördelar för dataåtkomst med låg fördröjning.
  • Vanliga användningsområden, till exempel cachelagring och konfiguration.
  • Hur man skapar ett KV-namespace och binder det till en Cloudflare Worker.
  • De centrala operationerna: put() för att lagra, get() för att hämta och delete() för att ta bort data.

KV är ett grundläggande verktyg för att bygga snabba, skalbara och effektiva edge-applikationer!

Gratis att börja

Lär dig Edge computing med Cloudflare Workers och Deno med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
47

Vanliga frågor

Är lektionen ”Cloudflare KV-lager” gratis?

Ja – hela texten till ”Cloudflare KV-lager” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Edge computing med Cloudflare Workers och Deno, kan Ni uppgradera till CoddyKit PRO. Kursen i Edge computing med Cloudflare Workers och Deno innehåller totalt 4 lektioner.

Vad lär jag mig i ”Cloudflare KV-lager”?

Använd Cloudflare Workers KV för nyckel-värdelagring vid edge, vilket passar utmärkt för cachelagring och konfiguration Ni övar på Edge computing med Cloudflare Workers och Deno med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Edge computing med Cloudflare Workers och Deno?

Du behöver inga förkunskaper. Utbildningen i Edge computing med Cloudflare Workers och Deno på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Cloudflare KV-lager”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Edge computing med Cloudflare Workers och Deno-lektionen?

Ja. Varje Edge computing med Cloudflare Workers och Deno-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Cloudflare KV-lager
  2. Förklaring av Durable Objects
  3. Integrera Deno med lagring vid edge
  4. Fråga med D1 SQL på edge
← Tillbaka till Edge computing med Cloudflare Workers och Deno