Strategier för API-hastighetsbegränsning och caching
Skydda backend-systemet och sänk kostnaderna genom att införa hastighetsbegränsning för att stoppa missbruk och cachinglager som minskar onödigt arbete och snabbar upp svaren.
Strategier för API-hastighetsbegränsning och caching är en gratis lektion i Mobilappar för indiehackare på CoddyKit. Detta är lektion 4 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 Mobilappar för indiehackare, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Mobilappar för indiehackare innehåller totalt 4 lektioner.
Varför ni ska begränsa och cacha
När appen växer uppstår två problem: missbrukande eller skenande klienter som överbelastar ert API, och samma kostsamma arbete som upprepas i onödan. Hastighetsbegränsning och cachning löser båda problemen.
Tillsammans skyddar de drifttiden och sänker kostnaderna kraftigt.
Vad är hastighetsbegränsning?
Hastighetsbegränsning begränsar hur många förfrågningar en klient får göra under ett tidsintervall — till exempel 100 förfrågningar per minut. Därefter avvisas eller fördröjs förfrågningarna.
Det skyddar mot missbruk, buggar och oavsiktliga loopar.
Token bucket
En vanlig algoritm är token bucket: varje förfrågan förbrukar en token och tokens fylls på i jämn takt. När hinken är tom stryps förfrågningarna.
let tokens = 5;
function allowRequest() {
if (tokens > 0) { tokens--; return true; }
return false;
}
console.log(allowRequest());
console.log(allowRequest());Kommunicera begränsningar
Bra API:er returnerar headers som X-RateLimit-Remaining och statusen 429 Too Many Requests tillsammans med en ledtråd i Retry-After.
Det gör att välfungerande klienter kan trappa ner på ett smidigt sätt.
Vad är cachning?
Cachning sparar resultatet av kostsamt arbete så att upprepade förfrågningar returneras direkt utan att arbetet behöver beräknas eller hämtas igen.
En cacheträff minskar belastningen på databasen, beräkningsbehovet och väntetiden.
Cache-nycklar och TTL
Varje cachad post har en nyckel som identifierar förfrågan och en TTL (time to live), varefter posten löper ut och uppdateras.
const cache = new Map();
function setCache(key, value, ttlMs) {
cache.set(key, { value, expires: Date.now() + ttlMs });
}
setCache('user:1', { name: 'Alice' }, 60000);
console.log(cache.get('user:1'));Cachelager
Cachning sker på flera nivåer:
- Klient: cache i appen
- CDN: vid kanten, nära användarna
- Server: i minnet eller i Redis
Varje lager minskar arbetet för lagret under det.
Cacheinvalidering
Den svåra delen är inaktuella data. När underliggande data ändras måste cachen invalideras, annars returnerar den föråldrade resultat.
Strategier omfattar korta TTL:er, händelsebaserad invalidering och versionshanterade nycklar.
Vad ni inte ska cacha
Undvik att cacha:
- Mycket personliga eller känsliga data utan att avgränsa per användare
- Värden som ändras snabbt, där inaktuella data kan vilseleda
Cacha sådant som läses ofta och ändras sällan.
Kombinera de två
Hastighetsbegränsning och cachning förstärker varandra. Cachning minskar hur ofta ni når gränsen, och begränsningar skyddar okachade, kostsamma endpoints mot missbruk.
Tillämpa båda per endpoint utifrån kostnad och känslighet.
En checklista för skydd
Innan ni skalar:
- Begränsa hastigheten per användare och per IP
- Returnera 429 med Retry-After
- Cacha ofta lästa data som ändras långsamt, med rimliga TTL:er
- Planera invalidering i förväg
- Cacha aldrig känsliga data utan avgränsning
Robust och kostnadseffektivt att driva.
Snabbtest
Testa era kunskaper om hastighetsbegränsning och cachning.
Sammanfattning
Ni har lärt er att skydda och snabba upp backend:
- Hastighetsbegränsning begränsar förfrågningar och skyddar mot missbruk
- Token bucket är en vanlig algoritm; returnera 429 med Retry-After
- Cachning sparar kostsamma resultat hos klient, CDN och server
- Använd TTL:er och planera invalidering för att undvika inaktuella data
- Kombinera båda per endpoint utifrån kostnad och känslighet
Robust, snabbt och kostnadseffektivt att driva.
Lär dig Mobilappar för indiehackare 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
- 48
Vanliga frågor
Är lektionen ”Strategier för API-hastighetsbegränsning och caching” gratis?
Ja – hela texten till ”Strategier för API-hastighetsbegränsning och caching” 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 Mobilappar för indiehackare, kan Ni uppgradera till CoddyKit PRO. Kursen i Mobilappar för indiehackare innehåller totalt 4 lektioner.
Vad lär jag mig i ”Strategier för API-hastighetsbegränsning och caching”?
Skydda backend-systemet och sänk kostnaderna genom att införa hastighetsbegränsning för att stoppa missbruk och cachinglager som minskar onödigt arbete och snabbar upp svaren. Ni övar på Mobilappar för indiehackare 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 Mobilappar för indiehackare?
Du behöver inga förkunskaper. Utbildningen i Mobilappar för indiehackare 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 4 av 4.
Hur lång tid tar lektionen ”Strategier för API-hastighetsbegränsning och caching”?
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 Mobilappar för indiehackare-lektionen?
Ja. Varje Mobilappar för indiehackare-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
- Optimera BaaS för prestanda
- Anpassade backendintegrationer
- Bästa praxis för mobilappsäkerhet
- Strategier för API-hastighetsbegränsning och caching