Panduan Penyimpanan Cache Respons dan Integrasi CDN

Optimalkan kinerja Smart Money API dengan strategi caching cerdas. Pelajari header cache HTTP, validasi ETag, integrasi CDN, dan pola caching sisi klien untuk mengurangi latensi dan biaya bandwidth.

Diterbitkan 21 Maret 2026 16 menit dibaca Kinerja

Ikhtisar Caching

Endpoint Smart Money API menyajikan data pasar kripto yang berubah pada frekuensi berbeda. Beberapa data (alamat paus, funding rates) diperbarui setiap beberapa detik, sementara data lain (analisis historis, konten edukasi) tetap statis selama berjam-jam. Caching cerdas secara dramatis meningkatkan kinerja dan mengurangi biaya.

Smart Money API menerapkan strategi caching tiga lapis:

  • Cache Edge CDN — Pengiriman konten global dengan pembatalan cache otomatis
  • Cache Browser HTTP — Caching sisi klien menggunakan header HTTP standar
  • Cache Aplikasi — Caching dalam memori untuk dataset yang sering diakses

Wawasan Kinerja: Respons yang di-cache melayani 50-100x lebih cepat daripada permintaan API baru dan menghemat bandwidth secara signifikan. Integrasi yang di-cache dengan benar dapat mengurangi transfer data sebesar 70-85%.

Setiap respons Smart Money API mencakup direktif cache yang memberi tahu klien dan CDN berapa lama data tetap valid. Memahami direktif ini dan menerapkannya dengan benar sangat penting untuk kinerja optimal.

Dasar-Dasar Caching

Caching HTTP beroperasi berdasarkan header respons yang menunjukkan apakah konten dapat di-cache dan untuk berapa lama.

Header Cache-Control

Mekanisme utama untuk mengontrol perilaku cache. Setiap respons Smart Money API mencakup header Cache-Control yang menentukan:

  • max-age — Durasi dalam detik respons tetap valid
  • public/private — Apakah cache perantara dapat menyimpannya
  • must-revalidate — Apakah harus memeriksa kesegaran sebelum melayani
  • no-store — Jangan menyimpan data sensitif

Contoh Header Cache

Endpoint yang berbeda memiliki persyaratan cache yang berbeda:

Header Respons
// Data alamat paus (diperbarui setiap 5 menit)
Cache-Control: public, max-age=300
ETag: "abc123def456"
// Funding rates real-time (diperbarui setiap detik)
Cache-Control: public, max-age=1
ETag: "xyz789abc123"
// Data historis (tidak berubah)
Cache-Control: public, max-age=86400, immutable
ETag: "static-content-v1"

Durasi Cache Berdasarkan Jenis Endpoint

Jenis Data Durasi Cache Kasus Penggunaan
Funding Real-time 1-5 detik Trading langsung, penentuan ukuran posisi
Pergerakan Paus 5 menit Konfirmasi sinyal, peringatan
OHLCV Harian 1 jam Analisis teknis, grafik
Analisis Historis 24 jam Backtesting, penelitian
Konten Statis 7 hari Dokumen API, panduan, konfigurasi
Dapatkan kunci API Anda dalam 30 detik

Siap membangun? Ambil kunci API gratis (100 panggilan/hari, tanpa kartu) dan mulai menarik data paus, funding, dan on-chain langsung.

Dapatkan kunci API →

Header Cache HTTP

Respons Smart Money API mencakup beberapa header terkait cache yang bekerja sama untuk memaksimalkan kinerja sambil menjaga kesegaran data.

Cache-Control: Header Utama

Mengontrol perilaku caching untuk browser dan cache perantara:

Direktif Cache-Control
// Data publik, cache selama 5 menit
Cache-Control: public, max-age=300
// Data pribadi, cache hanya di browser
Cache-Control: private, max-age=3600
// Konten tidak berubah, cache selamanya
Cache-Control: public, max-age=31536000, immutable
// Selalu validasi sebelum melayani
Cache-Control: public, max-age=0, must-revalidate
// Jangan menyimpan data sensitif
Cache-Control: private, no-store, no-cache

Header Expires (Legacy)

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

Header Expires
// Waktu kedaluwarsa absolut
Expires: Wed, 22 Mar 2026 14:30:00 GMT
// Cache-Control max-age memiliki prioritas dalam HTTP/1.1

Header Last-Modified

Menunjukkan kapan konten terakhir diperbarui, memungkinkan permintaan bersyarat:

Penggunaan Last-Modified
// Respons mencakup Last-Modified
Last-Modified: Wed, 21 Mar 2026 10:15:30 GMT
// Klien memvalidasi ulang dengan If-Modified-Since
If-Modified-Since: Wed, 21 Mar 2026 10:15:30 GMT
// Jika tidak berubah, server merespons 304 Not Modified
HTTP/1.1 304 Not Modified

Header Vary

Memberi tahu cache header permintaan mana yang memengaruhi respons (autentikasi, parameter):

Header Vary
// Respons bervariasi berdasarkan autentikasi dan simbol
Vary: Authorization, X-Symbols
// Cache menyimpan versi terpisah untuk nilai yang berbeda

ETag dan Permintaan Bersyarat

ETag (Entity Tags) menyediakan cara efisien untuk memvalidasi konten yang di-cache tanpa mengunduh seluruh badan respons.

Cara Kerja ETag

  1. Permintaan Awal — Klien meminta data, server merespons dengan ETag
  2. Penyimpanan Cache — Klien menyimpan respons dengan ETag
  3. Permintaan Berikutnya — Klien mengirim header If-None-Match dengan ETag yang di-cache
  4. Validasi — Jika data tidak berubah, server mengembalikan 304 Not Modified
  5. Bandwidth Tersimpan — Tidak ada body respons yang dikirim, penghematan bandwidth besar

Implementasi ETag

Permintaan & Respons Awal
// Permintaan pertama
GET /v1/whales/btc HTTP/1.1
// Respons mencakup ETag
HTTP/1.1 200 OK
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
Content-Type: application/json
{...response body...}
Validasi Bersyarat
// Setelah cache kedaluwarsa, kirim If-None-Match
GET /v1/whales/btc HTTP/1.1
If-None-Match: "8a3b9c2d"
// Jika tidak berubah, server merespons 304
HTTP/1.1 304 Not Modified
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
// Tidak ada body yang dikirim! Bandwidth tersimpan

Kekuatan ETag

ETag bisa kuat atau lemah:

Tipe Format Kasus Penggunaan
ETag Kuat "8a3b9c2d" Identik byte-per-byte, digunakan untuk validasi
ETag Lemah W/"8a3b9c2d" Setara secara semantik, untuk perubahan tampilan

Direktif Cache Control

Memahami direktif Cache-Control memungkinkan pembuatan strategi caching yang optimal untuk aplikasi Anda.

Referensi Direktif

Direktif Arti Contoh
max-age Detik respons tetap segar max-age=300
public Cache dapat disimpan dan dibagikan public
private Cache hanya untuk penerima private
must-revalidate Validasi ulang saat basi must-revalidate
no-cache Harus divalidasi ulang sebelum digunakan no-cache
no-store Jangan simpan cache sama sekali no-store
immutable Tidak pernah berubah, cache selamanya immutable
s-maxage Durasi cache CDN s-maxage=3600

Pola Cache-Control Praktis

Pola Umum
// Pola 1: Cache browser, CDN selama 1 jam
Cache-Control: public, max-age=300, s-maxage=3600
// Pola 2: Data per-user, tidak ada cache proxy
Cache-Control: private, max-age=1800
// Pola 3: Selalu segar, selalu periksa
Cache-Control: public, no-cache, must-revalidate
// Pola 4: Aset versi yang tidak berubah
Cache-Control: public, max-age=31536000, immutable

Integrasi CDN

Smart Money API mengirimkan respons melalui jaringan CDN global Cloudflare, secara otomatis menyimpan respons di lokasi edge di seluruh dunia untuk latensi minimal.

Cara Kerja CDN Smart Money

  1. Permintaan Pengguna — Permintaan mencapai lokasi edge Cloudflare terdekat
  2. Pemeriksaan Cache — Edge memeriksa apakah respons di-cache dan segar
  3. Cache Hit — Jika di-cache, langsung disajikan dengan latensi <10ms
  4. Cache Miss — Jika tidak di-cache, ambil dari server asal
  5. Simpan dan Sajikan — Cache respons dan kirim ke pengguna

Konfigurasi Kunci Cache

Cloudflare menggunakan kunci cache untuk mengidentifikasi respons yang di-cache secara unik. Secara default:

  • Path permintaan dan parameter query disertakan
  • Sebagian besar header diabaikan (untuk memaksimalkan cache hit)
  • Header Otorisasi TIDAK disertakan (tidak ada kebocoran akun)
  • Header khusus dapat disertakan melalui header Vary

Pembersihan CDN

Smart Money secara otomatis membersihkan cache CDN saat data diperbarui:

Pembersihan Cache Manual
// Hapus 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 Kinerja CDN

Periksa header respons untuk melihat apakah permintaan dilayani dari cache:

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

Cache Sisi Klien

Implementasikan caching di aplikasi Anda untuk lebih mengurangi panggilan API dan meningkatkan responsivitas.

Implementasi Cache Browser

JavaScript Caching
// Buat penyimpanan cache
const cache = new Map();
async function fetchWithCache(url) {
// Periksa cache terlebih dahulu
const cached = cache.get(url);
if (cached && !isCacheExpired(cached)) {
return cached.data;
}
// Ambil dari API
const response = await fetch(url);
const data = await response.json();
// Parse durasi cache dari header
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 dukungan offline 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')) {
// Network first, fall back to cache
event.respondWith(
fetch(event.request)
.then(response => {
// Perbarui cache dengan respons terbaru
caches.open('api-cache')
.then(cache => cache.put(
event.request, response.clone()));
return response;
})
.catch(() =>
caches.match(event.request))
);
}
});

Cache Busting Strategies

Terkadang Anda perlu memaksa klien untuk mendapatkan data segar. Gunakan teknik berikut:

Version Parameter

Tambahkan parameter versi untuk menginvalidasi cache saat data berubah:

Versioned URLs
// Sertakan versi data atau timestamp
https://api.smartmoneyapi.com/v1/whales/btc?v=1709980800
// Saat data diperbarui, tingkatkan versi
https://api.smartmoneyapi.com/v1/whales/btc?v=1709981000
// URL baru = entri cache baru

Force Revalidation

Timpa cache dengan Cache-Control: no-cache saat Anda membutuhkan data segar:

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

Monitoring Cache Performance

Lacak tingkat hit cache dan peningkatan kinerja untuk memvalidasi strategi caching Anda.

Cache Metrics to Monitor

  • Hit Rate — Persentase permintaan yang dilayani dari cache (target: >70%)
  • Response Time — Latensi rata-rata (cache: <50ms, tanpa cache: 100-300ms)
  • Bandwidth Saved — Pengurangan transfer data
  • Origin Load — Pengurangan permintaan di server asal

Analyzing Cache Headers

Cache Analysis Script
// Analisis header 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 Header Respons

Selalu hormati header Cache-Control dari Smart Money API. Jangan cache konten yang ditandai no-store atau no-cache.

2. Implementasikan Permintaan Bersyarat

Kirim header If-None-Match (ETag) dan If-Modified-Saat saat memvalidasi ulang konten yang di-cache. Hemat bandwidth dengan respons 304.

3. Cache Sesuai Jenis Data

  • Data real-time (funding rates): cache maksimal 1-5 detik
  • Sinyal langsung (pergerakan whale): cache 5-30 detik
  • Data per jam (OHLCV): cache 1 jam
  • Data historis: cache 24 jam
  • Konten statis: cache 7 hari

4. Pantau Efektivitas Cache

Lacak tingkat hit dan peningkatan latensi. Sesuaikan TTL berdasarkan kebutuhan kesegaran data dan kinerja cache.

5. Gunakan Header Vary dengan Hati-hati

Header Vary mengurangi hit cache dengan membuat entri cache terpisah. Gunakan hanya saat diperlukan untuk level autentikasi atau parameter yang berbeda.

6. Cache di Beberapa Lapisan

Implementasikan caching di tingkat CDN, browser, dan aplikasi. Setiap lapisan menangkap permintaan sebelum mencapai asal.

Optimalkan Kinerja API Anda

Infrastruktur caching Smart Money API memastikan respons di bawah 100ms secara global. Terapkan strategi caching cerdas untuk memaksimalkan kinerja dan meminimalkan biaya.

Bandingkan Paket
Semua paket termasuk caching CDN penuh. Tingkat yang lebih tinggi menyediakan kontrol cache dan API pembersihan.

Related Resources

Mulai gratis — 100 panggilan/hari, tanpa kartu

Dapatkan aliran whale, funding, open interest, dan data on-chain dari 3 bursa dalam satu API. Tingkat gratis, tanpa kartu kredit, upgrade kapan saja.

Mulai gratis →
Coba konsol API langsung → (tidak perlu akun)