Yanıt Önbelleğe Alma ve CDN Entegrasyonu Kılavuzu

Smart Money API performansını akıllı önbelleğe alma stratejileriyle optimize edin. HTTP önbellek başlıklarını, ETag doğrulamasını, CDN entegrasyonunu ve istemci tarafı önbelleğe alma modellerini öğrenerek gecikmeyi ve bant genişliği maliyetlerini azaltın.

21 Mart 2026 tarihinde yayınlandı 16 dakika okuma Performans

Önbelleğe Alma Genel Bakış

Smart Money API uç noktaları, farklı frekanslarda değişen kripto para piyasası verilerini sunar. Bazı veriler (balina adresleri, fonlama oranları) birkaç saniyede bir güncellenirken, diğer veriler (tarihsel analiz, eğitim içeriği) saatlerce sabit kalır. Akıllı önbelleğe alma, performansı önemli ölçüde artırır ve maliyetleri düşürür.

Smart Money API, üç katmanlı bir önbelleğe alma stratejisi uygular:

  • CDN Kenar Önbelleği — Otomatik önbellek geçersiz kılma ile küresel içerik dağıtımı
  • HTTP Tarayıcı Önbelleği — Standart HTTP başlıklarını kullanarak istemci tarafı önbelleğe alma
  • Uygulama Önbelleği — Sık erişilen veri kümeleri için bellek içi önbelleğe alma

Performans İçgörüsü: Önbelleğe alınan yanıtlar, taze API isteklerinden 50-100 kat daha hızlı hizmet verir ve bant genişliğini önemli ölçüde tasarruf eder. Doğru şekilde önbelleğe alınmış bir entegrasyon, veri transferini %70-85 oranında azaltabilir.

Her Smart Money API yanıtı, verilerin ne kadar süre geçerli kalacağını istemcilere ve CDN'lere söyleyen önbellek direktifleri içerir. Bu direktifleri anlamak ve doğru şekilde uygulamak, optimal performans için çok önemlidir.

Önbelleğe Alma Temelleri

HTTP önbelleğe alma, içeriğin önbelleğe alınıp alınamayacağını ve ne kadar süreyle önbelleğe alınabileceğini belirten yanıt başlıklarına dayanır.

Cache-Control Başlığı

Önbellek davranışını kontrol etmek için birincil mekanizma. Her Smart Money API yanıtı, aşağıdakileri belirten bir Cache-Control başlığı içerir:

  • max-age — Yanıtın geçerli kalacağı saniye cinsinden süre
  • public/private — Ara önbelleklerin bunu saklayıp saklayamayacağı
  • must-revalidate — Hizmet vermeden önce tazelik kontrolü yapılıp yapılmayacağı
  • no-store — Hassas verileri önbelleğe alma

Örnek Önbellek Başlıkları

Farklı uç noktaların farklı önbellek gereksinimleri vardır:

Yanıt Başlıkları
// Balina adresi verileri (5 dakikada bir güncellenir)
Cache-Control: public, max-age=300
ETag: "abc123def456"
// Gerçek zamanlı fonlama oranları (saniyede bir güncellenir)
Cache-Control: public, max-age=1
ETag: "xyz789abc123"
// Tarihsel veriler (değişmez)
Cache-Control: public, max-age=86400, immutable
ETag: "static-content-v1"

Uç Nokta Türüne Göre Önbellek Süresi

Veri Türü Önbellek Süresi Kullanım Senaryosu
Gerçek Zamanlı Fonlama 1-5 saniye Canlı işlem, pozisyon boyutlandırma
Balina Hareketleri 5 dakika Sinyal onayı, uyarılar
Günlük OHLCV 1 saat Teknik analiz, grafikler
Tarihsel Analiz 24 saat Geriye dönük test, araştırma
Statik İçerik 7 gün API dokümanları, kılavuzlar, yapılandırma
API anahtarınızı 30 saniyede alın

Hazır mısınız? Ücretsiz bir API anahtarı alın (günde 100 çağrı, kart gerekmez) ve canlı balina, fonlama ve zincir üstü verileri çekmeye başlayın.

API anahtarınızı alın →

HTTP Önbellek Başlıkları

Smart Money API yanıtları, performansı maksimize ederken veri tazeliğini korumak için birlikte çalışan birkaç önbellek ile ilgili başlık içerir.

Cache-Control: Birincil Başlık

Tarayıcılar ve ara önbellekler için önbellek davranışını kontrol eder:

Cache-Control Direktifleri
// Genel veriler, 5 dakika önbelleğe al
Cache-Control: public, max-age=300
// Özel veriler, yalnızca tarayıcıda önbelleğe al
Cache-Control: private, max-age=3600
// Değişmez içerik, sonsuza kadar önbelleğe al
Cache-Control: public, max-age=31536000, immutable
// Hizmet vermeden önce her zaman yeniden doğrula
Cache-Control: public, max-age=0, must-revalidate
// Hassas verileri önbelleğe alma
Cache-Control: private, no-store, no-cache

Expires Başlığı (Eski)

Eski istemciler için Smart Money, Expires başlığını da sağlar (HTTP/1.0):

Expires Başlığı
// Mutlak son kullanma süresi
Expires: Wed, 22 Mar 2026 14:30:00 GMT
// HTTP/1.1'de Cache-Control max-age önceliklidir

Last-Modified Başlığı

İçeriğin en son ne zaman güncellendiğini belirtir, koşullu isteklere olanak tanır:

Last-Modified Kullanımı
// Yanıt Last-Modified içerir
Last-Modified: Wed, 21 Mar 2026 10:15:30 GMT
// İstemci If-Modified-Since ile yeniden doğrular
If-Modified-Since: Wed, 21 Mar 2026 10:15:30 GMT
// Değişmemişse, sunucu 304 Değişmedi yanıtı verir
HTTP/1.1 304 Not Modified

Vary Başlığı

Önbelleklere, hangi istek başlıklarının yanıtı etkilediğini söyler (kimlik doğrulama, parametreler):

Vary Başlığı
// Yanıt kimlik doğrulama ve sembollerle değişir
Vary: Authorization, X-Symbols
// Önbellekler farklı değerler için ayrı sürümler saklar

ETag ve Koşullu İstekler

ETag'ler (Varlık Etiketleri), tam yanıt gövdesini indirmeden önbelleğe alınmış içeriği doğrulamanın verimli bir yolunu sağlar.

ETag'ler Nasıl Çalışır

  1. İlk İstek — İstemci veri ister, sunucu ETag ile yanıt verir
  2. Önbellek Depolama — İstemci yanıtı ETag ile önbelleğe alır
  3. Sonraki İstek — İstemci, önbelleğe alınmış ETag ile If-None-Match başlığını gönderir
  4. Doğrulama — Veri değişmemişse, sunucu 304 Not Modified döndürür
  5. Tasarruf Edilen Bant Genişliği — Yanıt gövdesi gönderilmez, büyük bant genişliği tasarrufu

ETag Uygulaması

İlk İstek ve Yanıt
// İlk istek
GET /v1/whales/btc HTTP/1.1
// Yanıt ETag içerir
HTTP/1.1 200 OK
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
Content-Type: application/json
{...yanıt gövdesi...}
Koşullu Yeniden Doğrulama
// Önbellek süresi dolduğunda, If-None-Match gönderin
GET /v1/whales/btc HTTP/1.1
If-None-Match: "8a3b9c2d"
// Değişmemişse, sunucu 304 yanıtı verir
HTTP/1.1 304 Not Modified
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
// Gövde gönderilmez! Bant genişliği tasarrufu

ETag Gücü

ETag'lar güçlü veya zayıf olabilir:

Tür Biçim Kullanım Senaryosu
Güçlü ETag "8a3b9c2d" Bayt bazında aynı, doğrulama için kullanılır
Zayıf ETag W/"8a3b9c2d" Anlamsal olarak eşdeğer, görüntü değişiklikleri için

Önbellek Kontrol Direktifleri

Cache-Control direktiflerini anlamak, uygulamanız için en uygun önbellek stratejilerini oluşturmanızı sağlar.

Direktif Referansı

Direktif Anlamı Örnek
max-age Yanıtın taze kalacağı saniye sayısı max-age=300
public Önbellek saklanabilir ve paylaşılabilir public
private Yalnızca alıcı için önbellek private
must-revalidate Bayatladığında yeniden doğrula must-revalidate
no-cache Kullanmadan önce yeniden doğrula no-cache
no-store Hiç önbelleğe alma no-store
immutable Asla değişmez, sonsuza kadar önbelleğe al immutable
s-maxage CDN önbellek süresi s-maxage=3600

Pratik Cache-Control Kalıpları

Yaygın Kalıplar
// Kalıp 1: Tarayıcı önbelleği, CDN için 1 saat
Cache-Control: public, max-age=300, s-maxage=3600
// Kalıp 2: Kullanıcıya özel veri, proxy önbelleği yok
Cache-Control: private, max-age=1800
// Kalıp 3: Her zaman taze, her zaman kontrol et
Cache-Control: public, no-cache, must-revalidate
// Kalıp 4: Değişmeyen versiyonlu varlık
Cache-Control: public, max-age=31536000, immutable

CDN Entegrasyonu

Smart Money API, yanıtları Cloudflare'in küresel CDN ağı üzerinden sunar ve dünya çapındaki edge lokasyonlarında otomatik olarak önbelleğe alarak minimum gecikme sağlar.

Smart Money CDN Nasıl Çalışır?

  1. Kullanıcı İsteği — İstek en yakın Cloudflare edge lokasyonuna ulaşır
  2. Önbellek Kontrolü — Edge, yanıtın önbellekte olup olmadığını ve taze olup olmadığını kontrol eder
  3. Önbellek İsabeti — Önbellekte varsa, <10ms gecikme ile hemen sunulur
  4. Önbellek Iskalaması — Önbellekte yoksa, orijin sunucudan getirilir
  5. Sakla ve Sun — Yanıtı önbelleğe al ve kullanıcıya ilet

Önbellek Anahtarı Yapılandırması

Cloudflare, önbelleğe alınan yanıtları benzersiz şekilde tanımlamak için önbellek anahtarlarını kullanır. Varsayılan olarak:

  • İstek yolu ve sorgu parametreleri dahildir
  • Çoğu başlık göz ardı edilir (önbellek isabetlerini maksimize etmek için)
  • Authorization başlıkları DAHİL DEĞİLDİR (hesap sızıntısı olmaz)
  • Özel başlıklar Vary başlığı aracılığıyla dahil edilebilir

CDN Temizleme

Smart Money, veri güncellendiğinde CDN önbelleğini otomatik olarak temizler:

Manuel Önbellek Temizleme
// CDN'den belirli bir URL'yi temizle
curl -X POST "https://api.smartmoneyapi.com/v1/cache/purge" \
-H "Authorization: Bearer token" \
-d '{
"urls": [
"https://api.smartmoneyapi.com/v1/whales/btc"
]
}'

CDN Performansını Ölçme

İsteğin önbellekten sunulup sunulmadığını kontrol etmek için yanıt başlıklarını inceleyin:

Yanıt Başlıkları
// CDN edge'inden önbellek isabeti
CF-Cache-Status: HIT
CF-RAY: 8a9b7c6d5e4f3g2h
Age: 45 // önbelleğe alındığından beri geçen saniye
// Önbellek ıskalaması, orijin sunucudan getirildi
CF-Cache-Status: MISS
Age: 0

İstemci Tarafında Önbellekleme

Uygulamanızda önbelleklemeyi uygulayarak API çağrılarını daha da azaltabilir ve yanıt hızını artırabilirsiniz.

Tarayıcı Önbelleği Uygulaması

JavaScript Önbellekleme
// Önbellek depolama oluştur
const cache = new Map();
async function fetchWithCache(url) {
// Önbelleği önce kontrol et
const cached = cache.get(url);
if (cached && !isCacheExpired(cached)) {
return cached.data;
}
// API'den çek
const response = await fetch(url);
const data = await response.json();
// Önbellek süresini başlıklardan ayrıştır
const cacheControl = response.headers
.get('cache-control');
const maxAge = parseMaxAge(cacheControl);
// Önbelleğe kaydet
cache.set(url, {
data,
expiry: Date.now() + (maxAge * 1000)
});
return data;
}

Service Worker Önbelleği

Çevrimdışı destek ve gelişmiş önbellek stratejileri için Service Worker'ları kullanın:

Service Worker
// API yanıtlarını Service Worker ile önbelleğe al
self.addEventListener('fetch', (event) => {
if (event.request.url.includes('api.smartmoneyapi.com')) {
// Önce ağ, sonra önbelleğe dön
event.respondWith(
fetch(event.request)
.then(response => {
// Önbelleği taze yanıtla güncelle
caches.open('api-cache')
.then(cache => cache.put(
event.request, response.clone()));
return response;
})
.catch(() =>
caches.match(event.request))
);
}
});

Önbellek Kırma Stratejileri

Bazen istemcilerin taze veri almasını zorlamanız gerekir. Bu teknikleri kullanın:

Versiyon Parametresi

Veri değiştiğinde önbellekleri geçersiz kılmak için bir versiyon parametresi ekleyin:

Versiyonlu URL'ler
// Veri versiyonu veya zaman damgası ekle
https://api.smartmoneyapi.com/v1/whales/btc?v=1709980800
// Veri güncellendiğinde versiyonu artır
https://api.smartmoneyapi.com/v1/whales/btc?v=1709981000
// Yeni URL = yeni önbellek girişi

Zorunlu Yeniden Doğrulama

Taze veriye ihtiyaç duyduğunuzda Cache-Control: no-cache ile önbelleği geçersiz kılın:

Taze Veri Zorlama
// JavaScript: Taze istek zorla
fetch(url, {
cache: 'no-cache', // Her zaman yeniden doğrula
headers: {
'Cache-Control': 'max-age=0'
}
});

Önbellek Performansını İzleme

Önbellek isabet oranlarını ve performans iyileştirmelerini takip ederek önbellek stratejinizi doğrulayın.

İzlenmesi Gereken Önbellek Metrikleri

  • İsabet Oranı — Önbellekten sunulan isteklerin yüzdesi (hedef: >%70)
  • Yanıt Süresi — Ortalama gecikme (önbellekli: <50ms, önbelleksiz: 100-300ms)
  • Tasarruf Edilen Bant Genişliği — Veri transferinde azalma
  • Kaynak Yükü — Kaynak sunucudaki istek azalması

Önbellek Başlıklarını Analiz Etme

Önbellek Analiz Betiği
// Yanıt önbellek başlıklarını analiz et
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')
};
}

Önbellek En İyi Uygulamaları

1. Yanıt Başlıklarına Saygı Gösterin

Smart Money API'den gelen Cache-Control başlıklarına her zaman uyun. no-store veya no-cache ile işaretlenmiş içeriği önbelleğe almayın.

2. Koşullu İstekleri Uygulayın

Önbelleğe alınmış içeriği yeniden doğrularken If-None-Match (ETag) ve If-Modified-Since başlıklarını gönderin. 304 yanıtlarıyla bant genişliğinden tasarruf edin.

3. Veri Türüne Göre Uygun Şekilde Önbelleğe Alın

  • Gerçek zamanlı veri (fonlama oranları): maksimum 1-5 saniye önbellek
  • Canlı sinyaller (balina hareketleri): 5-30 saniye önbellek
  • Saatlik veri (OHLCV): 1 saat önbellek
  • Tarihsel veri: 24 saat önbellek
  • Statik içerik: 7 gün önbellek

4. Önbellek Etkinliğini İzleyin

İsabet oranlarını ve gecikme iyileştirmelerini takip edin. TTL'leri veri tazelik gereksinimlerine ve önbellek performansına göre ayarlayın.

5. Vary Başlıklarını Dikkatli Kullanın

Vary başlıkları, ayrı önbellek girişleri oluşturarak önbellek isabetlerini azaltır. Yalnızca farklı kimlik doğrulama seviyeleri veya parametreler için gerekli olduğunda kullanın.

6. Birden Çok Katmanda Önbelleğe Alın

CDN, tarayıcı ve uygulama seviyelerinde önbelleklemeyi uygulayın. Her katman, istekleri kaynağa ulaşmadan önce yakalar.

API Performansınızı Optimize Edin

Smart Money API'nin önbellek altyapısı, küresel ölçekte 100ms altı yanıt süreleri sağlar. Performansı maksimize etmek ve maliyetleri minimize etmek için akıllı önbellek stratejileri uygulayın.

Planları Karşılaştırın
Tüm planlar tam CDN önbelleğini içerir. Üst seviye planlar önbellek kontrolü ve temizleme API'leri sunar.

İlgili Kaynaklar

Ücretsiz başlayın — günde 100 çağrı, kart gerekmez

Canlı balina akışı, fonlama, açık pozisyon ve zincir üstü verileri tek bir API'den alın. Ücretsiz katman, kredi kartı gerekmez, istediğiniz zaman yükseltebilirsiniz.

Ücretsiz başlayın →
Canlı API konsolunu deneyin → (hesap gerekmez)