API डॉक्युमेंटेशन
रिस्पॉन्स कैशिंग और CDN इंटीग्रेशन गाइड
स्मार्ट कैशिंग स्ट्रैटेजी के साथ Smart Money API परफॉर्मेंस ऑप्टिमाइज़ करें। HTTP कैश हेडर्स, ETag वैलिडेशन, CDN इंटीग्रेशन और क्लाइंट-साइड कैशिंग पैटर्न सीखकर लेटेंसी और बैंडविड्थ कॉस्ट कम करें।
21 मार्च, 2026 को प्रकाशित
•
16 मिनट पढ़ने का समय
•
परफॉर्मेंस
कैशिंग अवलोकन
Smart Money API एंडपॉइंट्स क्रिप्टोकरेंसी मार्केट डेटा प्रदान करते हैं जो अलग-अलग फ्रीक्वेंसी पर बदलता है। कुछ डेटा (व्हेल एड्रेसेस, फंडिंग रेट्स) हर कुछ सेकंड में अपडेट होता है, जबकि अन्य डेटा (हिस्टोरिकल एनालिसिस, एजुकेशनल कंटेंट) घंटों तक स्थिर रहता है। इंटेलिजेंट कैशिंग परफॉर्मेंस को ड्रामैटिकली इम्प्रूव करती है और कॉस्ट कम करती है।
Smart Money API तीन-स्तरीय कैशिंग स्ट्रैटेजी इम्प्लीमेंट करता है:
- CDN एज कैश — ऑटोमैटिक कैश इनवैलिडेशन के साथ ग्लोबल कंटेंट डिलीवरी
- HTTP ब्राउज़र कैश — स्टैंडर्ड HTTP हेडर्स का उपयोग करके क्लाइंट-साइड कैशिंग
- एप्लिकेशन कैश — फ्रीक्वेंटली एक्सेस्ड डेटासेट्स के लिए इन-मेमोरी कैशिंग
परफॉर्मेंस इनसाइट: कैश्ड रिस्पॉन्स फ्रेश API रिक्वेस्ट्स की तुलना में 50-100x फास्टर सर्व करते हैं और बैंडविड्थ को साइनिफिकेंटली सेव करते हैं। प्रॉपरली कैश्ड इंटीग्रेशन डेटा ट्रांसफर को 70-85% तक कम कर सकता है।
हर Smart Money API रिस्पॉन्स में कैश डायरेक्टिव्स शामिल होते हैं जो क्लाइंट्स और CDNs को बताते हैं कि डेटा कितनी देर तक वैलिड रहता है। इन डायरेक्टिव्स को समझना और उन्हें सही तरीके से इम्प्लीमेंट करना ऑप्टिमल परफॉर्मेंस के लिए क्रूशियल है।
कैशिंग फंडामेंटल्स
HTTP कैशिंग रिस्पॉन्स हेडर्स के आधार पर काम करती है जो इंडिकेट करते हैं कि कंटेंट कैश किया जा सकता है या नहीं और कितनी देर के लिए।
Cache-Control हेडर
कैश बिहेवियर को कंट्रोल करने का प्राइमरी मैकेनिज्म। हर Smart Money API रिस्पॉन्स में एक Cache-Control हेडर शामिल होता है जो निम्नलिखित स्पेसिफाई करता है:
- 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 डॉक्स, गाइड्स, कॉन्फिगरेशन |
30 सेकंड में अपना API key प्राप्त करें
बिल्ड करने के लिए तैयार? एक फ्री API key (50 कॉल्स/डे, कोई कार्ड नहीं) लें और लाइव व्हेल, फंडिंग और ऑन-चेन डेटा पुल करना शुरू करें।
अपना API key प्राप्त करें →
ETag और कंडीशनल रिक्वेस्ट्स
ETags (एंटिटी टैग्स) फुल रिस्पॉन्स बॉडी डाउनलोड किए बिना कैश्ड कंटेंट को वैलिडेट करने का एक एफिशिएंट तरीका प्रदान करते हैं।
ETags कैसे काम करते हैं
- इनिशियल रिक्वेस्ट — क्लाइंट डेटा रिक्वेस्ट करता है, सर्वर ETag के साथ रिस्पॉन्ड करता है
- कैश स्टोरेज — क्लाइंट ETag के साथ रिस्पॉन्स को कैश करता है
- सब्सीक्वेंट रिक्वेस्ट — क्लाइंट कैश्ड ETag के साथ If-None-Match हेडर भेजता है
- वैलिडेशन — यदि डेटा अपरिवर्तित है, सर्वर 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" |
सेमेंटिकली इक्विवेलेंट, डिस्प्ले परिवर्तनों के लिए |
कैश कंट्रोल डायरेक्टिव्स
Cache-Control डायरेक्टिव्स को समझने से आपके एप्लिकेशन के लिए ऑप्टिमल कैशिंग स्ट्रैटेजी बनाने में मदद मिलती है।
डायरेक्टिव रेफरेंस
| डायरेक्टिव |
मीनिंग |
उदाहरण |
| 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 |
प्रैक्टिकल Cache-Control पैटर्न्स
// पैटर्न 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 रिस्पॉन्सेस को Cloudflare के ग्लोबल CDN नेटवर्क के माध्यम से डिलीवर करता है, जो दुनिया भर में एज लोकेशंस पर रिस्पॉन्सेस को ऑटोमैटिकली कैश करता है ताकि लेटेंसी न्यूनतम रहे।
Smart Money CDN कैसे काम करता है
- यूज़र रिक्वेस्ट — रिक्वेस्ट निकटतम Cloudflare एज लोकेशन पर पहुँचती है
- कैश चेक — एज चेक करता है कि रिस्पॉन्स कैश्ड और ताजा है या नहीं
- कैश हिट — यदि कैश्ड है, तो <10ms लेटेंसी के साथ तुरंत सर्व करें
- कैश मिस — यदि कैश्ड नहीं है, तो ओरिजिन सर्वर से फ़ेच करें
- स्टोर और सर्व — रिस्पॉन्स को कैश करें और यूज़र को डिलीवर करें
कैश की कॉन्फिगरेशन
Cloudflare कैश्ड रिस्पॉन्सेस को यूनिकली आइडेंटिफाई करने के लिए कैश की का उपयोग करता है। डिफ़ॉल्ट रूप से:
- रिक्वेस्ट पथ और क्वेरी पैरामीटर्स शामिल हैं
- अधिकांश हेडर्स को इग्नोर किया जाता है (कैश हिट्स को मैक्सिमाइज़ करने के लिए)
- ऑथराइजेशन हेडर्स शामिल नहीं हैं (कोई अकाउंट लीकेज नहीं)
- कस्टम हेडर्स को 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
// नया URL = नया कैश एंट्री
फ़ोर्स रीवैलिडेशन
ताज़ा डेटा चाहिए तो Cache-Control: no-cache के साथ कैश ओवरराइड करें:
// JavaScript: ताज़ा रिक्वेस्ट फ़ोर्स करें
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 कैशिंग शामिल है। हायर टियर्स कैश कंट्रोल और पर्जिंग API प्रदान करते हैं।