API-Dokumentation
Leitfaden für Response Caching und CDN-Integration
Optimieren Sie die Leistung der Smart Money API mit intelligenten Caching-Strategien. Lernen Sie HTTP-Cache-Header, ETag-Validierung, CDN-Integration und client-seitige Caching-Muster kennen, um Latenz und Bandbreitenkosten zu reduzieren.
Veröffentlicht am 21. März 2026
•
16 Min. Lesezeit
•
Leistung
Caching-Übersicht
Smart Money API-Endpunkte liefern Kryptowährungsmarktdaten, die sich in unterschiedlichen Frequenzen ändern. Einige Daten (Wal-Adressen, Funding Rates) aktualisieren sich alle paar Sekunden, während andere Daten (historische Analysen, Bildungsinhalte) stundenlang statisch bleiben. Intelligentes Caching verbessert die Leistung erheblich und reduziert Kosten.
Die Smart Money API implementiert eine dreistufige Caching-Strategie:
- CDN-Edge-Cache — Globale Content-Bereitstellung mit automatischer Cache-Invalidierung
- HTTP-Browser-Cache — Client-seitiges Caching mit standardmäßigen HTTP-Headern
- Anwendungs-Cache — In-Memory-Caching für häufig abgerufene Datensätze
Leistungseinblick: Gecachte Antworten werden 50-100x schneller bereitgestellt als neue API-Anfragen und sparen erheblich Bandbreite. Eine richtig gecachte Integration kann die Datenübertragung um 70-85% reduzieren.
Jede Smart Money API-Antwort enthält Cache-Direktiven, die Clients und CDNs mitteilen, wie lange Daten gültig bleiben. Das Verständnis und die korrekte Implementierung dieser Direktiven sind entscheidend für optimale Leistung.
Caching-Grundlagen
HTTP-Caching basiert auf Antwort-Headern, die angeben, ob Inhalte zwischengespeichert werden können und für wie lange.
Cache-Control-Header
Der primäre Mechanismus zur Steuerung des Cache-Verhaltens. Jede Smart Money API-Antwort enthält einen Cache-Control-Header, der angibt:
- max-age — Dauer in Sekunden, für die die Antwort gültig bleibt
- public/private — Ob Zwischencaches sie speichern können
- must-revalidate — Ob die Frische vor der Bereitstellung überprüft werden muss
- no-store — Sensible Daten nicht cachen
Beispiel-Cache-Header
Verschiedene Endpunkte haben unterschiedliche Cache-Anforderungen:
// Wal-Adressdaten (aktualisiert alle 5 Minuten)
Cache-Control: public, max-age=300
ETag: "abc123def456"
// Echtzeit-Funding-Rates (aktualisiert jede Sekunde)
Cache-Control: public, max-age=1
ETag: "xyz789abc123"
// Historische Daten (ändern sich nicht)
Cache-Control: public, max-age=86400, immutable
ETag: "static-content-v1"
Cache-Dauer nach Endpunkt-Typ
| Daten-Typ |
Cache-Dauer |
Anwendungsfall |
| Echtzeit-Funding |
1-5 Sekunden |
Live-Trading, Positionsgrößen |
| Wal-Bewegungen |
5 Minuten |
Signalbestätigung, Benachrichtigungen |
| Tägliche OHLCV |
1 Stunde |
Technische Analyse, Charts |
| Historische Analyse |
24 Stunden |
Backtesting, Forschung |
| Statische Inhalte |
7 Tage |
API-Dokumentation, Anleitungen, Konfiguration |
Holen Sie sich Ihren API-Schlüssel in 30 Sekunden
Bereit zum Bauen? Holen Sie sich einen kostenlosen API-Schlüssel (200 Aufrufe/Tag, keine Karte) und starten Sie mit dem Abrufen von Live-Daten zu Walen, Finanzierungen und On-Chain-Daten.
API-Schlüssel erhalten →
ETag und bedingte Anfragen
ETags (Entity Tags) bieten eine effiziente Möglichkeit, zwischengespeicherte Inhalte ohne Herunterladen des vollständigen Antwortkörpers zu validieren.
Wie ETags funktionieren
- Erstanfrage — Client fragt Daten an, Server antwortet mit ETag
- Cache-Speicherung — Client speichert Antwort mit ETag zwischen
- Folgeanfrage — Client sendet If-None-Match-Header mit zwischengespeichertem ETag
- Validierung — Wenn Daten unverändert sind, antwortet der Server mit 304 Not Modified
- Bandbreite gespart — Kein Antwortkörper gesendet, erhebliche Bandbreitenersparnis
ETag-Implementierung
// Erste Anfrage
GET /v1/whales/btc HTTP/1.1
// Antwort enthält ETag
HTTP/1.1 200 OK
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
Content-Type: application/json
{...response body...}
// Nach Ablauf des Caches, If-None-Match senden
GET /v1/whales/btc HTTP/1.1
If-None-Match: "8a3b9c2d"
// Wenn unverändert, antwortet der Server mit 304
HTTP/1.1 304 Not Modified
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
// Kein Körper gesendet! Bandbreite gespart
ETag-Stärke
ETags können stark oder schwach sein:
| Typ |
Format |
Anwendungsfall |
| Starkes ETag |
"8a3b9c2d" |
Byte-für-Byte identisch, für Validierung verwenden |
| Schwaches ETag |
W/"8a3b9c2d" |
Semantisch äquivalent, für Anzeigeänderungen |
Cache-Control-Direktiven
Das Verständnis von Cache-Control-Direktiven ermöglicht den Aufbau optimaler Caching-Strategien für Ihre Anwendung.
Direktivenreferenz
| Direktive |
Bedeutung |
Beispiel |
| max-age |
Sekunden, die die Antwort frisch bleibt |
max-age=300 |
| public |
Cache kann speichern und teilen |
public |
| private |
Cache nur für den Empfänger |
private |
| must-revalidate |
Bei Ablauf erneut validieren |
must-revalidate |
| no-cache |
Vor der Verwendung erneut validieren |
no-cache |
| no-store |
Überhaupt nicht cachen |
no-store |
| immutable |
Ändert sich nie, für immer cachen |
immutable |
| s-maxage |
CDN-Cache-Dauer |
s-maxage=3600 |
Praktische Cache-Control-Muster
// Muster 1: Browser-Cache, CDN für 1 Stunde
Cache-Control: public, max-age=300, s-maxage=3600
// Muster 2: Benutzerspezifische Daten, kein Proxy-Cache
Cache-Control: private, max-age=1800
// Muster 3: Immer frisch, immer prüfen
Cache-Control: public, no-cache, must-revalidate
// Muster 4: Unveränderliche, versionierte Ressource
Cache-Control: public, max-age=31536000, immutable
CDN-Integration
Smart Money API liefert Antworten über das globale CDN-Netzwerk von Cloudflare und cached Antworten automatisch an Edge-Standorten weltweit für minimale Latenz.
Wie Smart Money CDN funktioniert
- Benutzeranfrage — Anfrage erreicht den nächstgelegenen Cloudflare-Edge-Standort
- Cache-Prüfung — Edge prüft, ob die Antwort gecacht und frisch ist
- Cache-Treffer — Wenn gecacht, sofort mit <10ms Latenz ausliefern
- Cache-Fehlschlag — Wenn nicht gecacht, vom Ursprungsserver abrufen
- Speichern und Ausliefern — Antwort cachen und an Benutzer liefern
Cache-Schlüssel-Konfiguration
Cloudflare verwendet Cache-Schlüssel, um zwischengespeicherte Antworten eindeutig zu identifizieren. Standardmäßig:
- Anfragepfad und Abfrageparameter sind enthalten
- Die meisten Header werden ignoriert (um Cache-Treffer zu maximieren)
- Authorization-Header sind NICHT enthalten (kein Kontoleck)
- Benutzerdefinierte Header können über den Vary-Header einbezogen werden
CDN-Bereinigung
Smart Money bereinigt den CDN-Cache automatisch bei Datenaktualisierungen:
// Bestimmte URL aus dem CDN bereinigen
curl -X POST "https://api.smartmoneyapi.com/v1/cache/purge" \
-H "Authorization: Bearer token" \
-d '{
"urls": [
"https://api.smartmoneyapi.com/v1/whales/btc"
]
}'
CDN-Leistung messen
Überprüfen Sie die Antwort-Header, um zu sehen, ob die Anfrage aus dem Cache bedient wurde:
// Cache-Treffer vom CDN-Edge
CF-Cache-Status: HIT
CF-RAY: 8a9b7c6d5e4f3g2h
Age: 45 // Sekunden seit dem Caching
// Cache-Fehlschlag, vom Ursprung abgerufen
CF-Cache-Status: MISS
Age: 0
Client-seitiges Caching
Implementieren Sie Caching in Ihrer Anwendung, um API-Aufrufe weiter zu reduzieren und die Reaktionsfähigkeit zu verbessern.
Browser-Cache-Implementierung
// Cache-Speicher erstellen
const cache = new Map();
async function fetchWithCache(url) {
// Cache zuerst überprüfen
const cached = cache.get(url);
if (cached && !isCacheExpired(cached)) {
return cached.data;
}
// Von API abrufen
const response = await fetch(url);
const data = await response.json();
// Cache-Dauer aus Headern parsen
const cacheControl = response.headers
.get('cache-control');
const maxAge = parseMaxAge(cacheControl);
// Im Cache speichern
cache.set(url, {
data,
expiry: Date.now() + (maxAge * 1000)
});
return data;
}
Service Worker Caching
Für Offline-Unterstützung und erweiterte Caching-Strategien verwenden Sie Service Workers:
// API-Antworten mit Service Worker cachen
self.addEventListener('fetch', (event) => {
if (event.request.url.includes('api.smartmoneyapi.com')) {
// Netzwerk zuerst, dann Cache als Fallback
event.respondWith(
fetch(event.request)
.then(response => {
// Cache mit frischer Antwort aktualisieren
caches.open('api-cache')
.then(cache => cache.put(
event.request, response.clone()));
return response;
})
.catch(() =>
caches.match(event.request))
);
}
});
Cache-Busting-Strategien
Manchmal müssen Clients gezwungen werden, frische Daten abzurufen. Verwenden Sie diese Techniken:
Versionsparameter
Fügen Sie einen Versionsparameter hinzu, um Caches bei Datenänderungen zu invalidieren:
// Datenversion oder Zeitstempel einbeziehen
https://api.smartmoneyapi.com/v1/whales/btc?v=1709980800
// Bei Datenaktualisierung Version erhöhen
https://api.smartmoneyapi.com/v1/whales/btc?v=1709981000
// Neue URL = neuer Cache-Eintrag
Erzwinge Revalidierung
Überschreiben Sie den Cache mit Cache-Control: no-cache, wenn Sie frische Daten benötigen:
// JavaScript: Frische Anfrage erzwingen
fetch(url, {
cache: 'no-cache', // Immer revalidieren
headers: {
'Cache-Control': 'max-age=0'
}
});
Cache-Leistung überwachen
Verfolgen Sie Cache-Trefferquoten und Leistungsverbesserungen, um Ihre Caching-Strategie zu validieren.
Cache-Metriken zur Überwachung
- Trefferquote — Prozentsatz der Anfragen, die aus dem Cache bedient werden (Ziel: >70%)
- Antwortzeit — Durchschnittliche Latenz (gecached: <50ms, ungecached: 100-300ms)
- Bandbreite gespart — Reduzierung der Datenübertragung
- Origin-Last — Anfragereduzierung am Ursprungsserver
Cache-Header analysieren
// Antwort-Cache-Header analysieren
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')
};
}
Caching-Best Practices
1. Antwort-Header respektieren
Respektieren Sie immer Cache-Control-Header von Smart Money API. Cachen Sie keine Inhalte, die mit no-store oder no-cache markiert sind.
2. Bedingte Anfragen implementieren
Senden Sie If-None-Match (ETag) und If-Modified-Since-Header bei der Revalidierung von gecachten Inhalten. Sparen Sie Bandbreite mit 304-Antworten.
3. Je nach Datentyp angemessen cachen
- Echtzeitdaten (Funding Rates): Maximal 1-5 Sekunden Cache
- Live-Signale (Walbewegungen): 5-30 Sekunden Cache
- Stündliche Daten (OHLCV): 1 Stunde Cache
- Historische Daten: 24-Stunden-Cache
- Statische Inhalte: 7-Tage-Cache
4. Cache-Effektivität überwachen
Verfolgen Sie Trefferquoten und Latenzverbesserungen. Passen Sie TTLs basierend auf Datenaktualitätsanforderungen und Cache-Leistung an.
5. Vary-Header sorgfältig verwenden
Vary-Header reduzieren Cache-Treffer, indem sie separate Cache-Einträge erstellen. Nur verwenden, wenn für verschiedene Authentifizierungsstufen oder Parameter notwendig.
6. Auf mehreren Ebenen cachen
Implementieren Sie Caching auf CDN-, Browser- und Anwendungsebene. Jede Ebene fängt Anfragen ab, bevor sie den Ursprung erreichen.
Optimieren Sie Ihre API-Leistung
Die Caching-Infrastruktur von Smart Money API gewährleistet Antwortzeiten unter 100 ms weltweit. Implementieren Sie intelligente Caching-Strategien, um die Leistung zu maximieren und die Kosten zu minimieren.
Pläne vergleichen
Alle Pläne beinhalten vollständiges CDN-Caching. Höhere Stufen bieten Cache-Control- und Purging-APIs.