Panduan Penyimpanan Respons dan Integrasi CDN

Optimumkan prestasi Smart Money API dengan strategi penyimpanan cache yang pintar. Pelajari header cache HTTP, pengesahan ETag, integrasi CDN, dan corak penyimpanan cache pihak pelanggan untuk mengurangkan latensi dan kos lebar jalur.

Diterbitkan pada 21 Mac 2026 16 minit baca Prestasi

Gambaran Keseluruhan Penyimpanan Cache

Endpoint Smart Money API menyediakan data pasaran kripto yang berubah pada frekuensi berbeza. Sesetengah data (alamat paus, kadar pembiayaan) dikemas kini setiap beberapa saat, manakala data lain (analisis sejarah, kandungan pendidikan) kekal statik selama berjam-jam. Penyimpanan cache pintar meningkatkan prestasi dan mengurangkan kos dengan ketara.

Smart Money API melaksanakan strategi penyimpanan cache tiga peringkat:

  • Cache Pinggir CDN — Penghantaran kandungan global dengan pembatalan cache automatik
  • Cache Pelayar HTTP — Penyimpanan cache pihak pelanggan menggunakan header HTTP standard
  • Cache Aplikasi — Penyimpanan cache dalam memori untuk set data yang sering diakses

Pandangan Prestasi: Respons yang disimpan cache berfungsi 50-100x lebih pantas daripada permintaan API baharu dan menjimatkan lebar jalur dengan ketara. Integrasi yang disimpan cache dengan betul boleh mengurangkan pemindahan data sebanyak 70-85%.

Setiap respons Smart Money API termasuk arahan cache yang memberitahu pelanggan dan CDN berapa lama data kekal sah. Memahami arahan ini dan melaksanakannya dengan betul adalah penting untuk prestasi optimum.

Asas Penyimpanan Cache

Penyimpanan cache HTTP beroperasi berdasarkan header respons yang menunjukkan sama ada kandungan boleh disimpan cache dan untuk berapa lama.

Header Cache-Control

Mekanisme utama untuk mengawal tingkah laku cache. Setiap respons Smart Money API termasuk header Cache-Control yang menentukan:

  • max-age — Tempoh dalam saat respons kekal sah
  • public/private — Sama ada cache perantaraan boleh menyimpannya
  • must-revalidate — Sama ada untuk menyemak kesegaran sebelum menghidangkan
  • no-store — Jangan simpan data sensitif

Contoh Header Cache

Endpoint yang berbeza mempunyai keperluan cache yang berbeza:

Header Respons
// Data alamat paus (dikemas kini setiap 5 minit)
Cache-Control: public, max-age=300
ETag: "abc123def456"
// Kadar pembiayaan masa nyata (dikemas kini setiap saat)
Cache-Control: public, max-age=1
ETag: "xyz789abc123"
// Data sejarah (tidak berubah)
Cache-Control: public, max-age=86400, immutable
ETag: "static-content-v1"

Tempoh Cache mengikut Jenis Endpoint

Jenis Data Tempoh Cache Kegunaan
Pembiayaan Masa Nyata 1-5 saat Perdagangan langsung, saiz posisi
Pergerakan Paus 5 minit Pengesahan isyarat, amaran
OHLCV Harian 1 jam Analisis teknikal, carta
Analisis Sejarah 24 jam Ujian balik, penyelidikan
Kandungan Statik 7 hari Dokumen API, panduan, konfigurasi
Dapatkan kunci API anda dalam 30 saat

Sedia untuk membina? Dapatkan kunci API percuma (100 panggilan/hari, tiada kad) dan mula menarik data paus, pembiayaan dan on-chain langsung.

Dapatkan kunci API anda →

Header Cache HTTP

Respons Smart Money API termasuk beberapa header berkaitan cache yang bekerjasama untuk memaksimumkan prestasi sambil mengekalkan kesegaran data.

Cache-Control: Header Utama

Mengawal tingkah laku cache untuk pelayar dan cache perantaraan:

Arahan Cache-Control
// Data awam, simpan cache selama 5 minit
Cache-Control: public, max-age=300
// Data peribadi, simpan cache dalam pelayar sahaja
Cache-Control: private, max-age=3600
// Kandungan tidak berubah, simpan cache selama-lamanya
Cache-Control: public, max-age=31536000, immutable
// Sentiasa sahkan semula sebelum menghidangkan
Cache-Control: public, max-age=0, must-revalidate
// Jangan simpan data sensitif
Cache-Control: private, no-store, no-cache

Header Expires (Warisan)

Untuk pelanggan lama, Smart Money juga menyediakan header Expires (HTTP/1.0):

Header Expires
// Masa tamat mutlak
Expires: Wed, 22 Mar 2026 14:30:00 GMT
// Cache-Control max-age diutamakan dalam HTTP/1.1

Header Last-Modified

Menunjukkan bila kandungan terakhir dikemas kini, membolehkan permintaan bersyarat:

Penggunaan Last-Modified
// Respons termasuk Last-Modified
Last-Modified: Wed, 21 Mar 2026 10:15:30 GMT
// Pelanggan menyahkan semula dengan If-Modified-Since
If-Modified-Since: Wed, 21 Mar 2026 10:15:30 GMT
// Jika tidak berubah, pelayan bertindak balas 304 Not Modified
HTTP/1.1 304 Not Modified

Header Vary

Memberitahu cache header permintaan mana yang mempengaruhi respons (pengesahan, parameter):

Header Vary
// Respons berbeza mengikut pengesahan dan simbol
Vary: Authorization, X-Symbols
// Cache menyimpan versi berbeza untuk nilai yang berbeza

ETag dan Permintaan Bersyarat

ETag (Tag Entiti) menyediakan cara yang cekap untuk mengesahkan kandungan cache tanpa memuat turun badan respons penuh.

Bagaimana ETag Berfungsi

  1. Permintaan Awal — Pelanggan meminta data, pelayan bertindak balas dengan ETag
  2. Penyimpanan Cache — Pelanggan menyimpan cache respons dengan ETag
  3. Permintaan Berikutnya — Pelanggan menghantar header If-None-Match dengan ETag yang di-cache
  4. Pengesahan — Jika data tidak berubah, pelayan mengembalikan 304 Not Modified
  5. Lebar Jalur Dijimatkan — Tiada badan respons dihantar, penjimatan lebar jalur yang besar

Pelaksanaan ETag

Permintaan & Respons Awal
// Permintaan pertama
GET /v1/whales/btc HTTP/1.1
// Respons termasuk ETag
HTTP/1.1 200 OK
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
Content-Type: application/json
{...response body...}
Pengesahan Bersyarat
// Selepas cache tamat, hantar If-None-Match
GET /v1/whales/btc HTTP/1.1
If-None-Match: "8a3b9c2d"
// Jika tidak berubah, pelayan membalas 304
HTTP/1.1 304 Not Modified
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
// Tiada badan dihantar! Lebar jalur dijimatkan

Kekuatan ETag

ETag boleh menjadi kuat atau lemah:

Jenis Format Kegunaan
ETag Kuat "8a3b9c2d" Identik byte-untuk-byte, digunakan untuk pengesahan
ETag Lemah W/"8a3b9c2d" Setara secara semantik, untuk perubahan paparan

Arahan Kawalan Cache

Memahami arahan Cache-Control membolehkan pembinaan strategi caching yang optimum untuk aplikasi anda.

Rujukan Arahan

Arahan Maksud Contoh
max-age Saiz respons kekal segar max-age=300
public Cache boleh disimpan dan dikongsi public
private Cache untuk penerima sahaja private
must-revalidate Sahkan semula apabila basi must-revalidate
no-cache Mesti disahkan semula sebelum digunakan no-cache
no-store Jangan cache langsung no-store
immutable Tidak pernah berubah, cache selama-lamanya immutable
s-maxage Tempoh cache CDN s-maxage=3600

Pola Kawalan Cache Praktikal

Pola Biasa
// Pola 1: Cache pelayar, CDN selama 1 jam
Cache-Control: public, max-age=300, s-maxage=3600
// Pola 2: Data per-pengguna, tiada cache proksi
Cache-Control: private, max-age=1800
// Pola 3: Sentiasa segar, sentiasa periksa
Cache-Control: public, no-cache, must-revalidate
// Pola 4: Aset berversi yang tidak berubah
Cache-Control: public, max-age=31536000, immutable

Integrasi CDN

Smart Money API menyampaikan respons melalui rangkaian CDN global Cloudflare, secara automatik menyimpan respons di lokasi edge di seluruh dunia untuk latensi yang minima.

Bagaimana Smart Money CDN Berfungsi

  1. Permintaan Pengguna — Permintaan sampai ke lokasi edge Cloudflare terdekat
  2. Semakan Cache — Edge memeriksa sama ada respons di-cache dan segar
  3. Cache Hit — Jika di-cache, hidangkan serta-merta dengan latensi <10ms
  4. Cache Miss — Jika tidak di-cache, ambil dari pelayan asal
  5. Simpan dan Hidangkan — Cache respons dan hantar kepada pengguna

Konfigurasi Kunci Cache

Cloudflare menggunakan kunci cache untuk mengenal pasti respons yang di-cache secara unik. Secara lalai:

  • Laluan permintaan dan parameter pertanyaan termasuk
  • Kebanyakan header diabaikan (untuk memaksimumkan cache hit)
  • Header Kebenaran TIDAK termasuk (tiada kebocoran akaun)
  • Header tersuai boleh dimasukkan melalui header Vary

Pembersihan CDN

Smart Money secara automatik membersihkan cache CDN apabila data dikemas kini:

Pembersihan Cache Manual
// Bersihkan URL tertentu dari CDN
curl -X POST "https://api.smartmoneyapi.com/v1/cache/purge" \
-H "Authorization: Bearer token" \
-d '{
"urls": [
"https://api.smartmoneyapi.com/v1/whales/btc"
]
}'

Mengukur Prestasi CDN

Periksa header respons untuk melihat sama ada permintaan dihidangkan dari cache:

Header Respons
// Cache hit dari edge CDN
CF-Cache-Status: HIT
CF-RAY: 8a9b7c6d5e4f3g2h
Age: 45 // saat sejak di-cache
// Cache miss, diambil dari asal
CF-Cache-Status: MISS
Age: 0

Cache Pihak Pelanggan

Laksanakan caching dalam aplikasi anda untuk mengurangkan lagi panggilan API dan meningkatkan responsif.

Pelaksanaan Cache Pelayar

JavaScript Caching
// Buat storan cache
const cache = new Map();
async function fetchWithCache(url) {
// Semak cache dahulu
const cached = cache.get(url);
if (cached && !isCacheExpired(cached)) {
return cached.data;
}
// Dapatkan dari API
const response = await fetch(url);
const data = await response.json();
// Parse tempoh cache dari headers
const cacheControl = response.headers
.get('cache-control');
const maxAge = parseMaxAge(cacheControl);
// Simpan dalam cache
cache.set(url, {
data,
expiry: Date.now() + (maxAge * 1000)
});
return data;
}

Service Worker Caching

Untuk sokongan luar talian dan strategi caching lanjutan, gunakan Service Workers:

Service Worker
// Cache respons API dengan Service Worker
self.addEventListener('fetch', (event) => {
if (event.request.url.includes('api.smartmoneyapi.com')) {
// Rangkaian dahulu, kembali ke cache
event.respondWith(
fetch(event.request)
.then(response => {
// Kemaskini cache dengan respons segar
caches.open('api-cache')
.then(cache => cache.put(
event.request, response.clone()));
return response;
})
.catch(() =>
caches.match(event.request))
);
}
});

Cache Busting Strategies

Kadangkala anda perlu memaksa klien untuk mendapatkan data segar. Gunakan teknik ini:

Parameter Versi

Tambahkan parameter versi untuk membatalkan cache apabila data berubah:

URL Berveri
// Sertakan versi data atau cap waktu
https://api.smartmoneyapi.com/v1/whales/btc?v=1709980800
// Apabila data dikemaskini, tingkatkan versi
https://api.smartmoneyapi.com/v1/whales/btc?v=1709981000
// URL baru = entri cache baru

Force Revalidation

Override cache dengan Cache-Control: no-cache apabila anda memerlukan data segar:

Force Fresh Data
// JavaScript: Paksa permintaan segar
fetch(url, {
cache: 'no-cache', // Sahkan semula selalu
headers: {
'Cache-Control': 'max-age=0'
}
});

Monitoring Cache Performance

Lacak kadar hit cache dan penambahbaikan prestasi untuk mengesahkan strategi caching anda.

Cache Metrics to Monitor

  • Hit Rate — Peratusan permintaan yang dilayan dari cache (sasaran: >70%)
  • Response Time — Purata kependaman (cache: <50ms, tanpa cache: 100-300ms)
  • Bandwidth Saved — Pengurangan dalam pemindahan data
  • Origin Load — Pengurangan permintaan di pelayan asal

Analyzing Cache Headers

Cache Analysis Script
// Analisis headers cache respons
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. Hormati Response Headers

Sentiasa hormati headers Cache-Control dari Smart Money API. Jangan cache kandungan yang ditandakan no-store atau no-cache.

2. Laksanakan Permintaan Bersyarat

Hantar If-None-Match (ETag) dan If-Modified-Since headers apabila menyahkan semula kandungan cache. Jimat bandwidth dengan respons 304.

3. Cache Sesuai dengan Jenis Data

  • Data masa nyata (kadar pembiayaan): cache maksimum 1-5 saat
  • Isyarat langsung (pergerakan ikan paus): cache 5-30 saat
  • Data setiap jam (OHLCV): cache 1 jam
  • Data sejarah: cache 24 jam
  • Kandungan statik: cache 7 hari

4. Pantau Keberkesanan Cache

Lacak kadar hit dan penambahbaikan kependaman. Laraskan TTL berdasarkan keperluan kesegaran data dan prestasi cache.

5. Gunakan Vary Headers dengan Berhati-hati

Vary headers mengurangkan hit cache dengan mencipta entri cache berasingan. Gunakan hanya apabila perlu untuk tahap pengesahan atau parameter yang berbeza.

6. Cache di Pelbagai Lapisan

Laksanakan caching di lapisan CDN, pelayar, dan aplikasi. Setiap lapisan menangkap permintaan sebelum sampai ke asal.

Optimize Your API Performance

Infrastruktur caching Smart Money API memastikan respons di bawah 100ms pada skala global. Laksanakan strategi caching pintar untuk memaksimumkan prestasi dan meminimumkan kos.

Compare Plans
Semua rancangan termasuk caching CDN penuh. Tahap lebih tinggi menyediakan kawalan cache dan API pembersihan.

Related Resources

Mulakan percuma — 100 panggilan/hari, tanpa kad

Dapatkan aliran ikan paus langsung, pembiayaan, minat terbuka dan data on-chain merentasi 3 pertukaran dari satu API. Tahap percuma, tanpa kad kredit, naik taraf bila-bila masa.

Mulakan percuma →
Cuba konsol API langsung → (tiada akaun diperlukan)