Guide för Response Caching och CDN-integrering

Optimera Smart Money API:s prestanda med intelligenta cachningsstrategier. Lär dig om HTTP-cache-headers, ETag-validering, CDN-integrering och klient-sidiga cachningsmönster för att minska latens och bandbreddskostnader.

Publicerad 21 mars 2026 16 min läsning Prestanda

Översikt över cachning

Smart Money API:s slutpunkter tillhandahåller kryptovalutamarknadsdata som ändras med olika frekvenser. Vissa data (valadresser, finansieringsräntor) uppdateras varje få sekund, medan andra data (historisk analys, utbildningsmaterial) förblir statiska i timmar. Intelligenta cachningsstrategier förbättrar prestandan avsevärt och minskar kostnaderna.

Smart Money API implementerar en tre-nivås cachningsstrategi:

  • CDN Edge Cache — Global innehållsleverans med automatisk cache-ogiltigförklaring
  • HTTP Browser Cache — Klient-sidig cachning med standard-HTTP-headers
  • Application Cache — Minnescachning för ofta använda dataset

Prestandainsikt: Cachade svar levereras 50-100 gånger snabbare än nya API-förfrågningar och sparar bandbredd avsevärt. En korrekt cachad integration kan minska dataöverföringen med 70-85%.

Varje Smart Money API-svar innehåller cache-direktiv som talar om för klienter och CDN:n hur länge data förblir giltig. Att förstå dessa direktiv och implementera dem korrekt är avgörande för optimal prestanda.

Grundläggande om cachning

HTTP-cachning fungerar baserat på svarshuvuden som indikerar om innehåll kan cachelagras och hur länge.

Cache-Control Header

Den primära mekanismen för att kontrollera cache-beteende. Varje Smart Money API-svar innehåller en Cache-Control-header som specificerar:

  • max-age — Varaktighet i sekunder som svaret förblir giltigt
  • public/private — Om mellanliggande cacheminnen kan lagra det
  • must-revalidate — Om man ska kontrollera färskhet innan leverans
  • no-store — Cachelagra inte känsliga data

Exempel på Cache Headers

Olika slutpunkter har olika cache-krav:

Response Headers
// Valadressdata (uppdateras var 5:e minut)
Cache-Control: public, max-age=300
ETag: "abc123def456"
// Realtidsfinansieringsräntor (uppdateras varje sekund)
Cache-Control: public, max-age=1
ETag: "xyz789abc123"
// Historisk data (ändras inte)
Cache-Control: public, max-age=86400, immutable
ETag: "static-content-v1"

Cache Duration by Endpoint Type

Datatyp Cache Duration Användningsfall
Realtidsfinansiering 1-5 sekunder Livehandel, positionsstorlek
Valrörelser 5 minuter Signalbekräftelse, aviseringar
Daglig OHLCV 1 timme Teknisk analys, diagram
Historisk analys 24 timmar Backtesting, forskning
Statiskt innehåll 7 dagar API-dokumentation, guider, konfiguration
Få din API-nyckel på 30 sekunder

Redo att bygga? Hämta en gratis API-nyckel (200 anrop/dag, inget kort behövs) och börja hämta live-data om valar, finansiering och on-chain-data.

Få din API-nyckel →

HTTP Cache Headers

Smart Money API-svar innehåller flera cache-relaterade headers som samarbetar för att maximera prestandan samtidigt som datans färskhet bibehålls.

Cache-Control: The Primary Header

Styr cache-beteende för webbläsare och mellanliggande cacheminnen:

Cache-Control Directives
// Offentlig data, cache i 5 minuter
Cache-Control: public, max-age=300
// Privat data, cache endast i webbläsaren
Cache-Control: private, max-age=3600
// Oföränderligt innehåll, cache för alltid
Cache-Control: public, max-age=31536000, immutable
// Alltid revalidera innan leverans
Cache-Control: public, max-age=0, must-revalidate
// Cachelagra inte känsliga data
Cache-Control: private, no-store, no-cache

Expires Header (Legacy)

För äldre klienter tillhandahåller Smart Money även Expires-headern (HTTP/1.0):

Expires Header
// Absolut utgångstid
Expires: Wed, 22 Mar 2026 14:30:00 GMT
// Cache-Control max-age har företräde i HTTP/1.1

Last-Modified Header

Anger när innehållet senast uppdaterades, vilket möjliggör villkorade förfrågningar:

Last-Modified Usage
// Svaret innehåller Last-Modified
Last-Modified: Wed, 21 Mar 2026 10:15:30 GMT
// Klienten revaliderar med If-Modified-Since
If-Modified-Since: Wed, 21 Mar 2026 10:15:30 GMT
// Om oförändrat svarar servern med 304 Not Modified
HTTP/1.1 304 Not Modified

Vary Header

Berättar för cacheminnen vilka förfrågningsheaders som påverkar svaret (autentisering, parametrar):

Vary Header
// Svaret varierar beroende på autentisering och symboler
Vary: Authorization, X-Symbols
// Cacheminnen lagrar separata versioner för olika värden

ETag och villkorade förfrågningar

ETags (Entity Tags) ger ett effektivt sätt att validera cachat innehåll utan att ladda ner hela svarskroppen.

Hur ETags fungerar

  1. Inledande förfrågan — Klienten begär data, servern svarar med ETag
  2. Cache Storage — Klienten cachar svaret med ETag
  3. Efterföljande förfrågan — Klienten skickar If-None-Match-header med cachad ETag
  4. Validering — Om data är oförändrad svarar servern med 304 Not Modified
  5. Bandbredd Sparad — Ingen svarskropp skickas, stora besparingar i bandbredd

ETag-implementering

Första Begäran & Svar
// Första begäran
GET /v1/whales/btc HTTP/1.1
// Svaret inkluderar ETag
HTTP/1.1 200 OK
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
Content-Type: application/json
{...response body...}
Villkorlig Validering
// Efter att cachen gått ut, skicka If-None-Match
GET /v1/whales/btc HTTP/1.1
If-None-Match: "8a3b9c2d"
// Om oförändrad svarar servern med 304
HTTP/1.1 304 Not Modified
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
// Ingen kropp skickad! Bandbredd sparad

ETag-styrka

ETags kan vara starka eller svaga:

Typ Format Användningsfall
Stark ETag "8a3b9c2d" Byte-för-byte identisk, använd för validering
Svag ETag W/"8a3b9c2d" Semantiskt ekvivalent, för visningsändringar

Cache Control-direktiv

Att förstå Cache-Control-direktiv möjliggör byggande av optimala cachningsstrategier för din applikation.

Direktivreferens

Direktiv Betydelse Exempel
max-age Sekunder svar förblir färskt max-age=300
public Cache kan lagra och dela public
private Cache endast för mottagaren private
must-revalidate Validera om när det är inaktuellt must-revalidate
no-cache Måste valideras innan användning no-cache
no-store Cacha inte alls no-store
immutable Ändras aldrig, cacha för evigt immutable
s-maxage CDN-cachevaraktighet s-maxage=3600

Praktiska Cache-Control-mönster

Vanliga Mönster
// Mönster 1: Webbläsarcache, CDN i 1 timme
Cache-Control: public, max-age=300, s-maxage=3600
// Mönster 2: Per-användardata, ingen proxycache
Cache-Control: private, max-age=1800
// Mönster 3: Alltid färskt, alltid kontrollera
Cache-Control: public, no-cache, must-revalidate
// Mönster 4: Oföränderlig versionerad tillgång
Cache-Control: public, max-age=31536000, immutable

CDN-integrering

Smart Money API levererar svar genom Cloudflares globala CDN-nätverk, cachar automatiskt svar vid edge-platser över hela världen för minimal fördröjning.

Hur Smart Money CDN Fungerar

  1. Användarförfrågan — Förfrågan träffar närmaste Cloudflare-edgeplats
  2. Cachekontroll — Edge kontrollerar om svaret är cachat och färskt
  3. Cacheträff — Om cachat, servera omedelbart med <10ms fördröjning
  4. Cachemiss — Om inte cachat, hämta från ursprungsservern
  5. Lagring och Servering — Cacha svaret och leverera till användaren

Cache Key-konfiguration

Cloudflare använder cache-nycklar för att unikt identifiera cachade svar. Som standard:

  • Begärans sökväg och frågeparametrar inkluderas
  • De flesta huvuden ignoreras (för att maximera cacheträffar)
  • Authorization-huvuden inkluderas INTE (ingen kontoleckage)
  • Anpassade huvuden kan inkluderas via Vary-header

CDN-rensning

Smart Money rensar automatiskt CDN-cachen när data uppdateras:

Manuell Cacherensning
// Rensa specifik URL från CDN
curl -X POST "https://api.smartmoneyapi.com/v1/cache/purge" \
-H "Authorization: Bearer token" \
-d '{
"urls": [
"https://api.smartmoneyapi.com/v1/whales/btc"
]
}'

Mätning av CDN-prestanda

Kontrollera svarshuvuden för att se om förfrågan serverades från cache:

Svarshuvuden
// Cacheträff från CDN-edge
CF-Cache-Status: HIT
CF-RAY: 8a9b7c6d5e4f3g2h
Age: 45 // sekunder sedan cachad
// Cachemiss, hämtad från ursprung
CF-Cache-Status: MISS
Age: 0

Klientsidig Cachning

Implementera cachning i din applikation för att ytterligare minska API-anrop och förbättra responsivitet.

Webbläsarcache-implementering

JavaScript-cachning
// Skapa cache-lagring
const cache = new Map();
async function fetchWithCache(url) {
// Kontrollera cache först
const cached = cache.get(url);
if (cached && !isCacheExpired(cached)) {
return cached.data;
}
// Hämta från API
const response = await fetch(url);
const data = await response.json();
// Tolka cache-varaktighet från headers
const cacheControl = response.headers
.get('cache-control');
const maxAge = parseMaxAge(cacheControl);
// Spara i cache
cache.set(url, {
data,
expiry: Date.now() + (maxAge * 1000)
});
return data;
}

Service Worker Caching

För offline-stöd och avancerade cachestrategier, använd Service Workers:

Service Worker
// Cacha API-svar med Service Worker
self.addEventListener('fetch', (event) => {
if (event.request.url.includes('api.smartmoneyapi.com')) {
// Nätverk först, fall tillbaka på cache
event.respondWith(
fetch(event.request)
.then(response => {
// Uppdatera cache med färskt svar
caches.open('api-cache')
.then(cache => cache.put(
event.request, response.clone()));
return response;
})
.catch(() =>
caches.match(event.request))
);
}
});

Cache Busting Strategies

Ibland behöver du tvinga klienter att hämta färsk data. Använd dessa tekniker:

Versionsparameter

Lägg till en versionsparameter för att ogiltigförklara cache när data ändras:

Versionerade URL:er
// Inkludera dataversion eller tidsstämpel
https://api.smartmoneyapi.com/v1/whales/btc?v=1709980800
// När data uppdateras, öka versionen
https://api.smartmoneyapi.com/v1/whales/btc?v=1709981000
// Ny URL = ny cachepost

Tvinga Revalidering

Åsidosätt cache med Cache-Control: no-cache när du behöver färsk data:

Tvinga Färsk Data
// JavaScript: Tvinga färsk förfrågan
fetch(url, {
cache: 'no-cache', // Revalidera alltid
headers: {
'Cache-Control': 'max-age=0'
}
});

Övervaka Cacheprestanda

Spåra cacheträffar och prestandaförbättringar för att validera din cachestrategi.

Cachemått att övervaka

  • Träffprocent — Andel förfrågningar som hanteras från cache (mål: >70%)
  • Svartid — Genomsnittlig latens (cachad: <50ms, ocachad: 100-300ms)
  • Bandbredd sparad — Minskning i dataöverföring
  • Ursprungslast — Minskning av förfrågningar till ursprungsservern

Analysera Cacheheaders

Cacheanalysskript
// Analysera svars-cacheheaders
async function analyzeCache(url) {
const response = await fetch(url);
return {
cacheControl: response.headers
.get('cache-control'),
etag: response.headers.get('etag'),
age: response.headers.get('age'),
cfStatus: response.headers
.get('cf-cache-status'),
contentLength:
response.headers.get('content-length')
};
}

Cache Bästa Praktiker

1. Respektera Svarsheaders

Respektera alltid Cache-Control headers från Smart Money API. Cacha inte innehåll markerat med no-store eller no-cache.

2. Implementera Villkorliga Förfrågningar

Skicka If-None-Match (ETag) och If-Modified-Since headers när du revaliderar cachat innehåll. Spara bandbredd med 304-svar.

3. Cacha Lämpligt efter Datatyp

  • Realtidsdata (funding rates): 1-5 sekunders cache max
  • Live-signaler (valrörelser): 5-30 sekunders cache
  • Timdata (OHLCV): 1 timmes cache
  • Historisk data: 24-timmars cache
  • Statiskt innehåll: 7-dagars cache

4. Övervaka Cacheeffektivitet

Spåra träffprocent och latensförbättringar. Justera TTL baserat på datafärskhetskrav och cacheprestanda.

5. Använd Vary-headers Försiktigt

Vary-headers minskar cacheträffar genom att skapa separata cacheposter. Använd endast när det behövs för olika autentiseringsnivåer eller parametrar.

6. Cacha på Flera Nivåer

Implementera cachning på CDN-, webbläsar- och applikationsnivåer. Varje nivå fångar förfrågningar innan de når ursprunget.

Optimera Din API-prestanda

Smart Money API:s cacheinfrastruktur säkerställer svar under 100ms globalt. Implementera intelligenta cachestrategier för att maximera prestanda och minimera kostnader.

Jämför Planer
Alla planer inkluderar full CDN-cachning. Högre nivåer ger cachekontroll och rensnings-API:er.

Relaterade Resurser

Börja gratis — 200 anrop/dag, inget kort

Få live valflöde, funding, open interest och on-chain-data från 3 börser via ett API. Gratis nivå, inget kreditkort, uppgradera när som helst.

Börja gratis →
Testa live API-konsolen → (inget konto behövs)