API دستاویزات
رسپانس کیشنگ اور CDN انٹیگریشن گائیڈ
Smart Money API کی کارکردگی کو بہتر بنائیں ذہین کیشنگ کی حکمت عملیوں کے ساتھ۔ HTTP کیش ہیڈرز، ETag کی توثیق، CDN انٹیگریشن، اور کلائنٹ سائیڈ کیشنگ کے نمونوں کو سیکھیں تاکہ تاخیر اور بینڈوتھ کی لاگت کو کم کیا جا سکے۔
21 مارچ 2026 کو شائع ہوا
•
16 منٹ کا پڑھنا
•
کارکردگی
کیشنگ کا جائزہ
Smart Money API کے اختتامی پوائنٹس کرپٹو کرنسی کے مارکیٹ ڈیٹا فراہم کرتے ہیں جو مختلف فریکوئنسیز پر تبدیل ہوتا ہے۔ کچھ ڈیٹا (وہیل ایڈریسز، فنڈنگ ریٹس) ہر چند سیکنڈز میں اپڈیٹ ہوتا ہے، جبکہ دوسرا ڈیٹا (تاریخی تجزیہ، تعلیمی مواد) گھنٹوں تک مستقل رہتا ہے۔ ذہین کیشنگ کارکردگی کو نمایاں طور پر بہتر بناتی ہے اور لاگت کو کم کرتی ہے۔
Smart Money API تین سطحی کیشنگ کی حکمت عملی نافذ کرتا ہے:
- CDN ایج کیش — خودکار کیش انویلیڈیشن کے ساتھ عالمی مواد کی ترسیل
- HTTP براؤزر کیش — معیاری HTTP ہیڈرز کا استعمال کرتے ہوئے کلائنٹ سائیڈ کیشنگ
- ایپلیکیشن کیش — اکثر رسائی حاصل کیے جانے والے ڈیٹاسیٹس کے لیے میموری میں کیشنگ
کارکردگی کی بصیرت: کیشڈ رسپانس تازہ API درخواستوں کے مقابلے میں 50-100 گنا تیز ہوتی ہیں اور بینڈوتھ کو نمایاں طور پر بچاتی ہیں۔ مناسب طریقے سے کیشڈ انٹیگریشن ڈیٹا ٹرانسفر کو 70-85% تک کم کر سکتی ہے۔
ہر Smart Money API رسپانس میں کیش ہدایات شامل ہوتی ہیں جو کلائنٹس اور CDNs کو بتاتی ہیں کہ ڈیٹا کب تک درست رہتا ہے۔ ان ہدایات کو سمجھنا اور انہیں صحیح طریقے سے نافذ کرنا بہترین کارکردگی کے لیے ضروری ہے۔
کیشنگ کی بنیادی باتیں
HTTP کیشنگ رسپانس ہیڈرز پر مبنی کام کرتی ہے جو بتاتی ہیں کہ مواد کو کیش کیا جا سکتا ہے اور کتنی دیر تک۔
کیش کنٹرول ہیڈر
کیش رویے کو کنٹرول کرنے کا بنیادی طریقہ کار۔ ہر Smart Money API رسپانس میں ایک کیش کنٹرول ہیڈر شامل ہوتا ہے جو درج ذیل کی وضاحت کرتا ہے:
- max-age — سیکنڈز میں مدت جس تک رسپانس درست رہتی ہے
- public/private — کیا درمیانی کیش اسے ذخیرہ کر سکتی ہیں
- must-revalidate — کیا خدمت کرنے سے پہلے تازگی کی جانچ کرنی ہے
- no-store — حساس ڈیٹا کو کیش نہ کریں
مثال کے طور پر کیش ہیڈرز
مختلف اختتامی پوائنٹس کی مختلف کیش کی ضروریات ہوتی ہیں:
// وہیل ایڈریس ڈیٹا (ہر 5 منٹ میں اپڈیٹ ہوتا ہے)
Cache-Control: public, max-age=300
ETag: "abc123def456"
// ریئل ٹائم فنڈنگ ریٹس (ہر سیکنڈ میں اپڈیٹ ہوتا ہے)
Cache-Control: public, max-age=1
ETag: "xyz789abc123"
// تاریخی ڈیٹا (تبدیل نہیں ہوتا)
Cache-Control: public, max-age=86400, immutable
ETag: "static-content-v1"
اختتامی پوائنٹ کی قسم کے لحاظ سے کیش مدت
| ڈیٹا کی قسم |
کیش مدت |
استعمال کا معاملہ |
| ریئل ٹائم فنڈنگ |
1-5 سیکنڈز |
لائیو ٹریڈنگ، پوزیشن سائزنگ |
| وہیل کی حرکتیں |
5 منٹ |
سگنل کی تصدیق، انتباہات |
| روزانہ OHLCV |
1 گھنٹہ |
تکنیکی تجزیہ، چارٹس |
| تاریخی تجزیہ |
24 گھنٹے |
بیک ٹیسٹنگ، تحقیق |
| مستقل مواد |
7 دن |
API دستاویزات، گائیڈز، ترتیب |
اپنا API کلید 30 سیکنڈز میں حاصل کریں
تعمیر کے لیے تیار ہیں؟ ایک مفت API کلید حاصل کریں (100 کالز/دن، کوئی کارڈ نہیں) اور لائیو وہیل، فنڈنگ اور آن چین ڈیٹا کو کھینچنا شروع کریں۔
اپنا API کلید حاصل کریں →
ETag اور مشروط درخواستیں
ETags (انٹیٹی ٹیگز) کیشڈ مواد کو مکمل رسپانس باڈی کو ڈاؤن لوڈ کیے بغیر توثیق کرنے کا ایک موثر طریقہ فراہم کرتی ہیں۔
ETags کیسے کام کرتی ہیں
- ابتدائی درخواست — کلائنٹ ڈیٹا کی درخواست کرتا ہے، سرور ETag کے ساتھ جواب دیتا ہے
- کیش اسٹوریج — کلائنٹ ETag کے ساتھ رسپانس کو کیش کرتا ہے
- بعد کی درخواست — کلائنٹ If-None-Match ہیڈر کے ساتھ کیشڈ ETag بھیجتا ہے
- تصدیق — اگر ڈیٹا تبدیل نہیں ہوا ہے، سرور 304 Not Modified واپس کرتا ہے
- بینڈوڈتھ محفوظ — کوئی رسپانس باڈی نہیں بھیجی گئی، بڑی بینڈوڈتھ کی بچت
ETag نفاذ
// پہلی درخواست
GET /v1/whales/btc HTTP/1.1
// جواب میں ETag شامل ہے
HTTP/1.1 200 OK
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
Content-Type: application/json
{...response body...}
// کیش کی میعاد ختم ہونے کے بعد، If-None-Match بھیجیں
GET /v1/whales/btc HTTP/1.1
If-None-Match: "8a3b9c2d"
// اگر تبدیل نہیں ہوا ہے، سرور 304 کا جواب دیتا ہے
HTTP/1.1 304 Not Modified
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
// کوئی باڈی نہیں بھیجی گئی! بینڈوڈتھ محفوظ
ETag کی طاقت
ETags مضبوط یا کمزور ہو سکتے ہیں:
| قسم |
فارمیٹ |
استعمال کا کیس |
| مضبوط ETag |
"8a3b9c2d" |
بائٹ-فار-بائٹ مماثل، تصدیق کے لیے استعمال کریں |
| کمزور ETag |
W/"8a3b9c2d" |
معنوی طور پر برابر، ڈسپلے میں تبدیلیوں کے لیے |
کیش کنٹرول ہدایات
کیش کنٹرول ہدایات کو سمجھنا آپ کی ایپلیکیشن کے لیے بہترین کیشنگ اسٹریٹیجیز بنانے میں مدد دیتا ہے۔
ہدایت کا حوالہ
| ہدایت |
معنی |
مثال |
| max-age |
سیکنڈز میں جواب تازہ رہتا ہے |
max-age=300 |
| public |
کیش محفوظ اور شیئر کر سکتا ہے |
public |
| private |
صرف وصول کنندہ کے لیے کیش |
private |
| must-revalidate |
پرانی ہونے پر دوبارہ تصدیق کریں |
must-revalidate |
| no-cache |
استعمال سے پہلے دوبارہ تصدیق کریں |
no-cache |
| no-store |
بالکل کیش نہ کریں |
no-store |
| immutable |
کبھی تبدیل نہیں ہوتا، ہمیشہ کے لیے کیش کریں |
immutable |
| s-maxage |
CDN کیش کی مدت |
s-maxage=3600 |
عملی کیش کنٹرول پیٹرنز
// پیٹرن 1: براؤزر کیش، CDN کے لیے 1 گھنٹہ
Cache-Control: public, max-age=300, s-maxage=3600
// پیٹرن 2: فی صارف ڈیٹا، کوئی پراکسی کیش نہیں
Cache-Control: private, max-age=1800
// پیٹرن 3: ہمیشہ تازہ، ہمیشہ چیک کریں
Cache-Control: public, no-cache, must-revalidate
// پیٹرن 4: غیر متغیر ورژنڈ اثاثہ
Cache-Control: public, max-age=31536000, immutable
CDN انٹیگریشن
Smart Money API کلاؤڈ فلئیر کے عالمی CDN نیٹ ورک کے ذریعے جوابات فراہم کرتا ہے، خودکار طور پر جوابات کو دنیا بھر کے ایج لوکیشنز پر کیش کرتا ہے تاکہ کم سے کم تاخیر ہو۔
Smart Money CDN کیسے کام کرتا ہے
- صارف کی درخواست — درخواست قریبی کلاؤڈ فلئیر ایج لوکیشن پر پہنچتی ہے
- کیش چیک — ایج چیک کرتا ہے کہ کیا جواب کیشڈ اور تازہ ہے
- کیش ہٹ — اگر کیشڈ ہے، فوری طور پر <10ms تاخیر کے ساتھ پیش کریں
- کیش مس — اگر کیشڈ نہیں ہے، اصل سرور سے حاصل کریں
- محفوظ اور پیش کریں — جواب کو کیش کریں اور صارف کو فراہم کریں
کیش کلید کنفیگریشن
کلاؤڈ فلئیر کیش کلیدز کو منفرد طور پر شناخت کرنے کے لیے استعمال کرتا ہے۔ ڈیفالٹ کے طور پر:
- درخواست کا راستہ اور کوئری پیرامیٹرز شامل ہیں
- زیادہ تر ہیڈرز کو نظر انداز کیا جاتا ہے (کیش ہٹس کو زیادہ سے زیادہ کرنے کے لیے)
- تصدیق کے ہیڈرز شامل نہیں ہیں (اکاؤنٹ لیکج نہیں)
- کسٹم ہیڈرز کو Vary ہیڈر کے ذریعے شامل کیا جا سکتا ہے
CDN پرجنگ
Smart Money خودکار طور پر CDN کیش کو صاف کرتا ہے جب ڈیٹا اپڈیٹ ہوتا ہے:
// CDN سے مخصوص URL کو صاف کریں
curl -X POST "https://api.smartmoneyapi.com/v1/cache/purge" \
-H "Authorization: Bearer token" \
-d '{
"urls": [
"https://api.smartmoneyapi.com/v1/whales/btc"
]
}'
CDN کارکردگی کی پیمائش
چیک کریں کہ کیا درخواست کیش سے پیش کی گئی ہے:
// CDN ایج سے کیش ہٹ
CF-Cache-Status: HIT
CF-RAY: 8a9b7c6d5e4f3g2h
Age: 45 // کیش ہونے کے بعد سیکنڈز
// کیش مس، اصل سرور سے حاصل کیا گیا
CF-Cache-Status: MISS
Age: 0
کلائنٹ سائیڈ کیشنگ
اپنی ایپلیکیشن میں کیشنگ کو نافذ کریں تاکہ API کالز کو مزید کم کیا جا سکے اور جواب دہی کو بہتر بنایا جا سکے۔
براؤزر کیش نفاذ
// کیش اسٹوریج بنائیں
const cache = new Map();
async function fetchWithCache(url) {
// پہلے کیشے چیک کریں
const cached = cache.get(url);
if (cached && !isCacheExpired(cached)) {
return cached.data;
}
// API سے ڈیٹا حاصل کریں
const response = await fetch(url);
const data = await response.json();
// ہیڈرز سے کیشے کی مدت نکالیں
const cacheControl = response.headers
.get('cache-control');
const maxAge = parseMaxAge(cacheControl);
// کیشے میں محفوظ کریں
cache.set(url, {
data,
expiry: Date.now() + (maxAge * 1000)
});
return data;
}
سروس ورکر کیشنگ
آف لائن سپورٹ اور جدید کیشنگ حکمت عملیوں کے لیے سروس ورکرز استعمال کریں:
// سروس ورکر کے ساتھ API ردعمل کو کیش کریں
self.addEventListener('fetch', (event) => {
if (event.request.url.includes('api.smartmoneyapi.com')) {
// پہلے نیٹ ورک، پھر کیشے کا استعمال
event.respondWith(
fetch(event.request)
.then(response => {
// تازہ جواب کے ساتھ کیشے کو اپ ڈیٹ کریں
caches.open('api-cache')
.then(cache => cache.put(
event.request, response.clone()));
return response;
})
.catch(() =>
caches.match(event.request))
);
}
});
کیشے کو توڑنے کی حکمت عملیاں
کبھی کبھی آپ کو کلائنٹس کو تازہ ڈیٹا حاصل کرنے پر مجبور کرنے کی ضرورت ہوتی ہے۔ ان تکنیکوں کا استعمال کریں:
ورژن پیرامیٹر
ڈیٹا تبدیل ہونے پر کیشے کو ناکارہ بنانے کے لیے ایک ورژن پیرامیٹر شامل کریں:
// ڈیٹا ورژن یا ٹائم اسٹیمپ شامل کریں
https://api.smartmoneyapi.com/v1/whales/btc?v=1709980800
// جب ڈیٹا اپ ڈیٹ ہو، ورژن بڑھائیں
https://api.smartmoneyapi.com/v1/whales/btc?v=1709981000
// نیا یو آر ایل = نیا کیشے انٹری
زبردستی دوبارہ توثیق
جب آپ کو تازہ ڈیٹا کی ضرورت ہو تو Cache-Control: no-cache کے ساتھ کیشے کو اوور رائیڈ کریں:
// جاوا اسکرپٹ: زبردستی تازہ درخواست
fetch(url, {
cache: 'no-cache', // ہمیشہ دوبارہ توثیق کریں
headers: {
'Cache-Control': 'max-age=0'
}
});
کیشے کی کارکردگی کی نگرانی
اپنی کیشنگ حکمت عملی کی توثیق کے لیے کیشے ہٹ ریٹ اور کارکردگی میں بہتری کو ٹریک کریں۔
نگرانی کے لیے کیشے میٹرکس
- ہٹ ریٹ — کیشے سے خدمت کی گئی درخواستوں کا فیصد (ہدف: >70%)
- ردعمل کا وقت — اوسط لیٹنسی (کیشڈ: <50ms, غیر کیشڈ: 100-300ms)
- بینڈوڈتھ کی بچت — ڈیٹا ٹرانسفر میں کمی
- اصل لوڈ — اصل سرور پر درخواستوں میں کمی
کیشے ہیڈرز کا تجزیہ
// ردعمل کے کیشے ہیڈرز کا تجزیہ کریں
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')
};
}
کیشنگ کے بہترین طریقے
1. ردعمل کے ہیڈرز کا احترام کریں
ہمیشہ Smart Money API سے Cache-Control ہیڈرز کا احترام کریں۔ no-store یا no-cache سے نشان زد مواد کو کیشے نہ کریں۔
2. مشروط درخواستیں لاگو کریں
کیشڈ مواد کو دوبارہ توثیق کرتے وقت If-None-Match (ETag) اور If-Modified-Since ہیڈرز بھیجیں۔ 304 ردعمل کے ساتھ بینڈوڈتھ بچائیں۔
3. ڈیٹا کی قسم کے مطابق مناسب طریقے سے کیشے کریں
- ریل ٹائم ڈیٹا (فنڈنگ ریٹس): زیادہ سے زیادہ 1-5 سیکنڈ کیشے
- لائیو سگنلز (وہیل کی نقل و حرکت): 5-30 سیکنڈ کیشے
- گھنٹہ وار ڈیٹا (OHLCV): 1 گھنٹہ کیشے
- تاریخی ڈیٹا: 24 گھنٹہ کیشے
- ساکن مواد: 7 دن کیشے
4. کیشے کی تاثیر کی نگرانی کریں
ہٹ ریٹ اور لیٹنسی میں بہتری کو ٹریک کریں۔ ڈیٹا کی تازگی کی ضروریات اور کیشے کی کارکردگی کی بنیاد پر TTLs کو ایڈجسٹ کریں۔
5. Vary ہیڈرز کا احتیاط سے استعمال کریں
Vary ہیڈرز الگ کیشے انٹریز بنا کر کیشے ہٹ کو کم کرتے ہیں۔ صرف ضرورت پڑنے پر استعمال کریں جب مختلف توثیق کی سطحیں یا پیرامیٹرز ہوں۔
6. متعدد سطحوں پر کیشے کریں
CDN، براؤزر، اور ایپلیکیشن کی سطحوں پر کیشنگ لاگو کریں۔ ہر لیئر اصل سرور تک پہنچنے سے پہلے درخواستوں کو پکڑتی ہے۔
اپنی API کی کارکردگی کو بہتر بنائیں
Smart Money API کی کیشنگ انفراسٹرکچر عالمی سطح پر 100ms سے کم ردعمل کو یقینی بناتی ہے۔ کارکردگی کو زیادہ سے زیادہ اور لاگت کو کم سے کم کرنے کے لیے ذہین کیشنگ حکمت عملیاں لاگو کریں۔
پلانز کا موازنہ کریں
تمام پلانز میں مکمل CDN کیشنگ شامل ہے۔ اعلیٰ درجے کے ٹیئرز کیشے کنٹرول اور پرجنگ APIs فراہم کرتے ہیں۔