API dokumentáció
Response Caching és CDN Integrációs Útmutató
Optimalizálja a Smart Money API teljesítményét intelligens gyorsítótárazási stratégiákkal. Ismerje meg a HTTP gyorsítótár fejléceket, ETag érvényesítést, CDN integrációt és kliens oldali gyorsítótárazási mintákat a késleltetés és sávszélesség költségek csökkentése érdekében.
Közzétéve 2026. március 21.
•
16 perc olvasás
•
Teljesítmény
Gyorsítótár áttekintés
A Smart Money API végpontok kriptovaluta piaci adatokat szolgáltatnak, amelyek különböző gyakorisággal változnak. Egyes adatok (bálna címek, finanszírozási ráták) néhány másodpercenként frissülnek, míg más adatok (történelmi elemzések, oktatóanyagok) órákig statikusak maradnak. Az intelligens gyorsítótárazás jelentősen javítja a teljesítményt és csökkenti a költségeket.
A Smart Money API egy háromrétegű gyorsítótárazási stratégiát alkalmaz:
- CDN Edge Gyorsítótár — Globális tartalomkézbesítés automatikus gyorsítótár érvénytelenítéssel
- HTTP Böngésző Gyorsítótár — Kliens oldali gyorsítótárazás szabványos HTTP fejlécek használatával
- Alkalmazás Gyorsítótár — Memóriában tárolt gyorsítótár gyakran elért adathalmazokhoz
Teljesítmény betekintés: A gyorsítótárazott válaszok 50-100x gyorsabban szolgálnak ki, mint a friss API kérések, és jelentősen csökkentik a sávszélességet. Egy megfelelően gyorsítótárazott integráció 70-85%-kal csökkentheti az adatátvitelt.
Minden Smart Money API válasz tartalmaz gyorsítótár direktívákat, amelyek megmondják a klienseknek és a CDN-eknek, hogy az adatok medig maradnak érvényesek. Ezen direktívák megértése és helyes implementálása elengedhetetlen az optimális teljesítmény érdekében.
Gyorsítótár alapelvek
A HTTP gyorsítótárazás a válaszfejléceken alapul, amelyek jelzik, hogy a tartalom gyorsítótárazható-e és medig.
Cache-Control Fejléc
A gyorsítótár viselkedésének szabályozásának elsődleges mechanizmusa. Minden Smart Money API válasz tartalmaz egy Cache-Control fejlécet, amely meghatározza:
- max-age — A válasz érvényességének időtartama másodpercben
- public/private — Köztes gyorsítótárak tárolhatják-e
- must-revalidate — Ellenőrizze-e a frissességet kiszolgálás előtt
- no-store — Ne gyorsítótárazza a bizalmas adatokat
Példa Gyorsítótár Fejlécek
A különböző végpontok különböző gyorsítótár követelményekkel rendelkeznek:
// Bálna cím adatok (5 percenként frissül)
Cache-Control: public, max-age=300
ETag: "abc123def456"
// Valós idejű finanszírozási ráták (másodpercenként frissül)
Cache-Control: public, max-age=1
ETag: "xyz789abc123"
// Történelmi adatok (nem változik)
Cache-Control: public, max-age=86400, immutable
ETag: "static-content-v1"
Gyorsítótár időtartam végpont típus szerint
| Adat típus |
Gyorsítótár időtartam |
Használati eset |
| Valós idejű finanszírozás |
1-5 másodperc |
Élő kereskedés, pozíció méretezés |
| Bálna mozgások |
5 minutes |
Jel megerősítés, riasztások |
| Napi OHLCV |
1 hour |
Technikai elemzés, grafikonok |
| Történelmi elemzés |
24 hours |
Backtesting, kutatás |
| Statikus tartalom |
7 days |
API dokumentáció, útmutatók, konfiguráció |
Szerezd meg API kulcsod 30 másodperc alatt
Készen állsz a fejlesztésre? Szerezz egy ingyenes API kulcsot (100 hívás/nap, kártya nélkül), és kezdj el élő bálna, finanszírozási és láncon lévő adatokat lekérni.
Szerezd meg API kulcsod →
ETag és Feltételes Kérések
Az ETag-ek (Entitás Címkék) hatékony módot biztosítanak a gyorsítótárazott tartalom ellenőrzésére a teljes válasz törzs letöltése nélkül.
Hogyan Működnek az ETag-ek
- Kezdeti Kérés — A kliens adatot kér, a szerver ETag-gel válaszol
- Gyorsítótár Tárolás — A kliens ETag-gel együtt tárolja a választ
- Következő Kérés — Az ügyfél If-None-Match fejlécet küld a gyorsítótárban lévő ETaggel
- Érvényesítés — Ha az adat változatlan, a szerver 304 Not Modified választ küld
- Sávszélesség Megtakarítva — Nincs választörzs küldve, jelentős sávszélesség-megtakarítás
ETag Implementáció
// Első kérés
GET /v1/whales/btc HTTP/1.1
// A válasz tartalmaz ETag-et
HTTP/1.1 200 OK
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
Content-Type: application/json
{...választörzs...}
// A gyorsítótár lejárta után küldj If-None-Match-et
GET /v1/whales/btc HTTP/1.1
If-None-Match: "8a3b9c2d"
// Ha változatlan, a szerver 304-es választ küld
HTTP/1.1 304 Not Modified
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
// Nincs törzs küldve! Sávszélesség megspórolva
ETag Erősség
Az ETag-ek lehetnek erős vagy gyenge:
| Típus |
Formátum |
Használati Eset |
| Erős ETag |
"8a3b9c2d" |
Bájtpontosan azonos, érvényesítéshez használható |
| Gyenge ETag |
W/"8a3b9c2d" |
Szemantikailag egyenértékű, megjelenítési változásokhoz |
Gyorsítótárvezérlési Irányelvek
A Cache-Control irányelvek megértése lehetővé teszi az optimális gyorsítótár-stratégiák felépítését az alkalmazásod számára.
Irányelv Referencia
| Irányelv |
Jelentés |
Példa |
| max-age |
Másodpercek, amíg a válasz friss marad |
max-age=300 |
| public |
A gyorsítótár tárolhat és megoszthat |
public |
| private |
Gyorsítótár csak a címzett számára |
private |
| must-revalidate |
Újraérvényesítés, ha elavult |
must-revalidate |
| no-cache |
Újra kell érvényesíteni használat előtt |
no-cache |
| no-store |
Egyáltalán ne gyorsítótárazd |
no-store |
| immutable |
Soha nem változik, örökre gyorsítótárazd |
immutable |
| s-maxage |
CDN gyorsítótár időtartama |
s-maxage=3600 |
Gyakorlati Cache-Control Minták
// Minta 1: Böngésző gyorsítótár, CDN 1 órára
Cache-Control: public, max-age=300, s-maxage=3600
// Minta 2: Felhasználónkénti adat, nincs proxy gyorsítótár
Cache-Control: private, max-age=1800
// Minta 3: Mindig friss, mindig ellenőrizd
Cache-Control: public, no-cache, must-revalidate
// Minta 4: Változatlan verziószámú eszköz
Cache-Control: public, max-age=31536000, immutable
CDN Integráció
A Smart Money API válaszokat Cloudflare globális CDN hálózatán keresztül szállítja, automatikusan gyorsítótárazva a válaszokat világszerte elhelyezkedő edge helyeken a minimális késleltetés érdekében.
Hogyan Működik a Smart Money CDN
- Felhasználói Kérés — A kérés a legközelebbi Cloudflare edge helyre érkezik
- Gyorsítótár Ellenőrzés — Az edge ellenőrzi, hogy a válasz gyorsítótárban van-e és friss-e
- Gyorsítótár Találat — Ha gyorsítótárban van, azonnal kiszolgálja <10ms késleltetéssel
- Gyorsítótár Hiány — Ha nincs gyorsítótárban, lekéri a szerverről
- Tárolás és Kiszolgálás — Gyorsítótárazza a választ és továbbítja a felhasználónak
Gyorsítótárkulcs Beállítás
A Cloudflare gyorsítótárkulcsokat használ a gyorsítótárazott válaszok egyedi azonosítására. Alapértelmezés szerint:
- A kérés útvonala és lekérdezési paraméterei benne vannak
- A legtöbb fejléc figyelmen kívül marad (a gyorsítótár-találatok maximalizálása érdekében)
- Az Authorization fejlécek NINCSENEK benne (nincs fiókadatszivárgás)
- Egyéni fejlécek a Vary fejlécen keresztül adhatók hozzá
CDN Tisztítás
A Smart Money automatikusan tisztítja a CDN gyorsítótárat, amikor az adatok frissülnek:
// Tisztítsd ki a CDN-ből a megadott URL-t
curl -X POST "https://api.smartmoneyapi.com/v1/cache/purge" \
-H "Authorization: Bearer token" \
-d '{
"urls": [
"https://api.smartmoneyapi.com/v1/whales/btc"
]
}'
CDN Teljesítmény Mérése
Ellenőrizd a válaszfejléceket, hogy lássd, a kérés gyorsítótárból lett-e kiszolgálva:
// Gyorsítótár-találat a CDN edge-ről
CF-Cache-Status: HIT
CF-RAY: 8a9b7c6d5e4f3g2h
Age: 45 // másodpercekkel a gyorsítótárazás óta
// Gyorsítótár-hiány, a szerverről letöltve
CF-Cache-Status: MISS
Age: 0
Kliensoldali Gyorsítótárazás
Implementáld a gyorsítótárazást az alkalmazásodban, hogy tovább csökkentsd az API hívásokat és javítsd a válaszkészséget.
Böngésző Gyorsítótár Implementáció
// Gyorsítótár tároló létrehozása
const cache = new Map();
async function fetchWithCache(url) {
// Ellenőrizd először a gyorsítótárat
const cached = cache.get(url);
if (cached && !isCacheExpired(cached)) {
return cached.data;
}
// Lekérés az API-ról
const response = await fetch(url);
const data = await response.json();
// Gyorsítótár időtartamának elemzése a fejlécekből
const cacheControl = response.headers
.get('cache-control');
const maxAge = parseMaxAge(cacheControl);
// Tárolás a gyorsítótárban
cache.set(url, {
data,
expiry: Date.now() + (maxAge * 1000)
});
return data;
}
Service Worker Gyorsítótárazás
Offline támogatás és fejlett gyorsítótárazási stratégiák érdekében használj Service Workereket:
// API válaszok gyorsítótárazása Service Workerrel
self.addEventListener('fetch', (event) => {
if (event.request.url.includes('api.smartmoneyapi.com')) {
// Először hálózat, majd gyorsítótár visszaesés
event.respondWith(
fetch(event.request)
.then(response => {
// Gyorsítótár frissítése új válasszal
caches.open('api-cache')
.then(cache => cache.put(
event.request, response.clone()));
return response;
})
.catch(() =>
caches.match(event.request))
);
}
});
Gyorsítótár Ürítési Stratégiák
Néha szükséges az ügyfelek friss adatokhoz juttatása. Használd ezeket a technikákat:
Verzió Paraméter
Adj hozzá egy verzióparamétert a gyorsítótár érvénytelenítéséhez, ha az adatok változnak:
// Tartalmazd az adatverziót vagy időbélyeget
https://api.smartmoneyapi.com/v1/whales/btc?v=1709980800
// Ha az adatok frissülnek, növeld a verziót
https://api.smartmoneyapi.com/v1/whales/btc?v=1709981000
// Új URL = új gyorsítótárbejegyzés
Kényszerített Újraérvényesítés
Írd felül a gyorsítótárat Cache-Control: no-cache beállítással, ha friss adatokra van szükséged:
// JavaScript: Kényszerített friss kérés
fetch(url, {
cache: 'no-cache', // Mindig újraérvényesít
headers: {
'Cache-Control': 'max-age=0'
}
});
Gyorsítótár Teljesítmény Figyelése
Kövesd a gyorsítótár találati arányokat és a teljesítményjavulásokat a gyorsítótárazási stratégiád érvényesítéséhez.
Gyorsítótár Metrikák Figyelése
- Találati Arány — A gyorsítótárból kiszolgált kérések százaléka (cél: >70%)
- Válaszidő — Átlagos késleltetés (gyorsítótárban: <50ms, gyorsítótár nélkül: 100-300ms)
- Megtakarított Sávszélesség — Adatátvitel csökkentése
- Forrás Terhelés — Kérések csökkentése a forráskiszolgálón
Gyorsítótár Fejlécek Elemzése
// Válasz gyorsítótár fejléceinek elemzése
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')
};
}
Gyorsítótárazás Ajánlott Eljárások
1. Tiszteld a Válasz Fejléceket
Mindig tartsd be a Smart Money API Cache-Control fejléceit. Ne gyorsítótárazz no-store vagy no-cache jelölt tartalmakat.
2. Implementálj Feltételes Kéréseket
Küldj If-None-Match (ETag) és If-Modified-Since fejléceket a gyorsítótárazott tartalom újraérvényesítésekor. Spórolj sávszélességet 304 válaszokkal.
3. Gyorsítótárazz Megfelelően az Adattípus Szerint
- Valós idejű adatok (finanszírozási ráta): 1-5 másodperc maximális gyorsítótárazás
- Élő jelek (bálnamozgás): 5-30 másodperc gyorsítótárazás
- Óránkénti adatok (OHLCV): 1 óra gyorsítótárazás
- Történelmi adatok: 24 óra gyorsítótárazás
- Statikus tartalom: 7 nap gyorsítótárazás
4. Figyeld a Gyorsítótár Hatékonyságát
Kövesd a találati arányokat és a késleltetés javulásokat. Állítsd be a TTL-eket az adatok frissességének követelményei és a gyorsítótár teljesítménye alapján.
5. Óvatosan Használd a Vary Fejléceket
A Vary fejlécek csökkentik a gyorsítótár találatokat külön gyorsítótárbejegyzések létrehozásával. Csak akkor használd, ha szükséges különböző hitelesítési szintek vagy paraméterek esetén.
6. Gyorsítótárazz Több Rétegen
Implementálj gyorsítótárazást CDN, böngésző és alkalmazás szinten. Minden réteg elkapja a kéréseket, mielőtt elérnék a forrást.
Optimalizáld az API Teljesítményed
A Smart Money API gyorsítótár infrastruktúrája biztosítja a 100ms alatti válaszidőket globális szinten. Implementálj intelligens gyorsítótárazási stratégiákat a teljesítmény maximalizálására és a költségek minimalizálására.
Csomagok Összehasonlítása
Minden csomag tartalmazza a teljes CDN gyorsítótárazást. A magasabb szintek gyorsítótár-vezérlési és ürítési API-kat biztosítanak.