Edge computing med Cloudflare Workers og Deno · leksjon

Strategier for hurtigbufring

Implementer effektive mekanismer for hurtigbufring med Cloudflares CDN og Workers Cache API for å redusere forsinkelse.

Leksjon 1 av 411 trinn

Strategier for hurtigbufring er en gratis leksjon i Edge computing med Cloudflare Workers og Deno på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Edge computing med Cloudflare Workers og Deno, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Edge computing med Cloudflare Workers og Deno inneholder totalt 4 leksjoner.

Hva er bufring?

Tenk Dem at De trenger å hente en bok. Hvis den ligger på skrivebordet Deres, går det svært raskt! Hvis den ligger på det lokale biblioteket, går det fortsatt fort. Men hvis De må bestille den fra et lager langt unna, tar det mye lengre tid.

Bufring fungerer på samme måte. Det er prosessen med å lagre kopier av data som brukes ofte, nærmere stedet der de trengs, slik at fremtidige forespørsler går raskere.

Hvorfor bufre på kanten?

I edge computing betyr «nærmere» på kanten av nettverket, nær brukerne Deres. Bufring på kanten gir flere viktige fordeler:

  • Redusert forsinkelse: Innholdet når brukerne raskere.
  • Mindre belastning på opprinnelsesserveren: Hovedserverne Deres håndterer færre forespørsler.
  • Bedre brukeropplevelse: Nettsteder og applikasjoner oppleves raskere.

Bufring med Cloudflare CDN

Cloudflares Content Delivery Network (CDN) er det første forsvarslaget Deres for bufring. Det lagrer automatisk statiske ressurser (som bilder, CSS-filer og JavaScript-bunter) på det globale nettverket av edge-plasseringer.

Når en bruker ber om en av disse ressursene, leverer Cloudflare den fra den nærmeste edge-serveren, ikke fra opprinnelsesserveren Deres.

HTTP Cache-Control-headere

De kan angi for CDN-er og nettlesere hvordan innholdet skal bufres, ved hjelp av HTTP Cache-Control-headere. Disse headerne sendes sammen med svaret fra serveren Deres.

  • max-age=X: Ressursen regnes som fersk i X sekunder.
  • s-maxage=Y: Gjelder spesifikt delte cacher (CDN-er) og overstyrer max-age.
  • no-cache: Opprinnelsesserveren må kontrolleres på nytt før bufret innhold leveres.
  • no-store: Dette innholdet skal aldri bufres.

Introduksjon til Workers Cache API

Cloudflares CDN håndterer statiske ressurser, men hva med dynamisk innhold eller API-svar? Det er her Cloudflare Workers Cache API kommer inn.

Dette kraftige API-et lar Workeren Deres lagre og hente ethvert HTTP Response-objekt programmatisk i Cloudflares globale cache, noe som gir Dem detaljert kontroll.

Grunnleggende flyt for Cache API

Workers Cache API bruker et enkelt nøkkel-verdi-mønster:

  • Nøkkel: Et HTTP Request-objekt (eller en URL-streng).
  • Verdi: Et HTTP Response-objekt.

De bruker cache.put(request, response) til å lagre og cache.match(request) til å hente.

Lagring med cache.put()

La oss skrive en Worker som henter en ressurs fra en opprinnelsesserver og deretter lagrer en kopi av svaret i cachen ved hjelp av cache.put(). Da blir ressursen tilgjengelig for fremtidige forespørsler.

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event));
});

async function handleRequest(event) {
  const request = event.request;
  const cacheKey = new Request(request.url, request); // Key for cache
  const cache = caches.default; // Get default cache storage

  // Fetch from the origin server
  const response = await fetch(request);

  // Store a clone of the response in cache
  // event.waitUntil ensures caching happens in background
  event.waitUntil(cache.put(cacheKey, response.clone()));

  return response; // Return the original response
}

Henting med cache.match()

La oss nå endre Workeren slik at den først kontrollerer om den forespurte ressursen finnes i cachen, ved hjelp av cache.match(). Hvis den finnes, returnerer vi den bufrede versjonen umiddelbart. Ellers henter vi ressursen fra opprinnelsesserveren og bufrer den deretter.

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event));
});

async function handleRequest(event) {
  const request = event.request;
  const cacheKey = new Request(request.url, request);
  const cache = caches.default;

  // Try to find the response in cache
  let response = await cache.match(cacheKey);

  if (response) {
    // Cache hit! Return cached response
    return response;
  }

  // Cache miss. Fetch from origin
  response = await fetch(request);

  // Store the new response in cache for next time
  event.waitUntil(cache.put(cacheKey, response.clone()));

  return response;
}

Ugyldiggjøring av cache og anbefalte fremgangsmåter

Effektiv bufring krever at foreldede data håndteres. Her er noen tips:

  • Tømming: Bruk Cloudflare-dashbordet eller API-et til å ugyldiggjøre bestemte URL-er.
  • Vary-header: Bruk HTTP-headeren Vary (for eksempel Vary: Accept-Encoding) for å bufre ulike versjoner basert på forespørselsheadere.
  • Tidsbasert utløp: Angi passende Cache-Control-headere eller alternativer i cache.put() for å utløpe bufrede elementer automatisk.

Test kunnskapene Deres

Cloudflare Workers Cache API lar Dem styre bufring programmatisk. Hvilken metode brukes til å lagre et svar i cachen?

Oppsummering: Bufringsstrategier

I denne leksjonen utforsket vi effektive bufringsstrategier for å optimalisere ytelsen på kanten:

  • Cloudflares CDN bufrer statiske ressurser automatisk.
  • HTTP Cache-Control-headere lar Dem definere bufreatferd.
  • Workers Cache API gir programmatisk kontroll over bufring av dynamisk innhold.
  • Riktig ugyldiggjøring og administrasjon av cache er avgjørende for å holde data oppdaterte.

Å mestre bufring er avgjørende for å bygge raske og effektive edge-applikasjoner!

Gratis å komme i gang

Lær deg Edge computing med Cloudflare Workers og Deno med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
47

Ofte stilte spørsmål

Er leksjonen «Strategier for hurtigbufring» gratis?

Ja – hele teksten i «Strategier for hurtigbufring» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Edge computing med Cloudflare Workers og Deno-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Edge computing med Cloudflare Workers og Deno inneholder totalt 4 leksjoner.

Hva lærer jeg i «Strategier for hurtigbufring»?

Implementer effektive mekanismer for hurtigbufring med Cloudflares CDN og Workers Cache API for å redusere forsinkelse. Du øver på Edge computing med Cloudflare Workers og Deno med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Edge computing med Cloudflare Workers og Deno?

Ingen tidligere erfaring er nødvendig. Edge computing med Cloudflare Workers og Deno på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Strategier for hurtigbufring»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Edge computing med Cloudflare Workers og Deno-leksjonen?

Ja. Alle Edge computing med Cloudflare Workers og Deno-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Strategier for hurtigbufring
  2. Cold starts og oppvarming
  3. Overvåking og logging
  4. Bundle-størrelse og kodeoptimalisering
← Tilbake til Edge computing med Cloudflare Workers og Deno