API ஆவணம்
பதில் கேசிங் மற்றும் CDN ஒருங்கிணைப்பு வழிகாட்டி
ஸ்மார்ட் மணி API செயல்திறனை அறிவார்ந்த கேசிங் உத்திகளுடன் மேம்படுத்தவும். HTTP கேச் தலைப்புகள், ETag சரிபார்ப்பு, CDN ஒருங்கிணைப்பு மற்றும் கிளையன்-சைட் கேசிங் முறைகளைக் கற்றுக்கொண்டு, பிணைய தாமதம் மற்றும் பட்டைஅகல செலவுகளைக் குறைக்கவும்.
மார்ச் 21, 2026 இல் வெளியிடப்பட்டது
•
16 நிமிடம் படிக்க
•
செயல்திறன்
கேசிங் கண்ணோட்டம்
ஸ்மார்ட் மணி API முனைகள் கிரிப்டோகரன்சி சந்தை தரவுகளை வழங்குகின்றன, அவை வெவ்வேறு அதிர்வெண்களில் மாறுகின்றன. சில தரவுகள் (வேல் முகவரிகள், நிதியளிப்பு விகிதங்கள்) ஒவ்வொரு சில விநாடிகளுக்கும் புதுப்பிக்கப்படுகின்றன, மற்ற தரவுகள் (வரலாற்று பகுப்பாய்வு, கல்வி உள்ளடக்கம்) மணிநேரங்களுக்கு நிலையானதாக இருக்கும். அறிவார்ந்த கேசிங் செயல்திறனை கணிசமாக மேம்படுத்தி செலவுகளைக் குறைக்கிறது.
ஸ்மார்ட் மணி API மூன்று அடுக்கு கேசிங் உத்தியை செயல்படுத்துகிறது:
- CDN எட்ஜ் கேச் — தானியங்கி கேச் முடிவுக்கு உட்படுத்தும் உலகளாவிய உள்ளடக்க வழங்கல்
- HTTP உலாவி கேச் — நிலையான HTTP தலைப்புகளைப் பயன்படுத்தி கிளையன்-சைட் கேசிங்
- பயன்பாடு கேச் — அடிக்கடி அணுகப்படும் தரவுத் தொகுப்புகளுக்கான நினைவக கேசிங்
செயல்திறன் நுண்ணறிவு: கேச் செய்யப்பட்ட பதில்கள் புதிய API கோரிக்கைகளை விட 50-100 மடங்கு வேகமாக வழங்கப்படுகின்றன மற்றும் பட்டைஅகலத்தை கணிசமாக சேமிக்கின்றன. சரியாக கேச் செய்யப்பட்ட ஒருங்கிணைப்பு தரவு பரிமாற்றத்தை 70-85% குறைக்கும்.
ஒவ்வொரு ஸ்மார்ட் மணி API பதிலும் கேச் வழிமுறைகளை உள்ளடக்கியது, அவை தரவு எவ்வளவு காலம் செல்லுபடியாகும் என்பதை கிளையன்கள் மற்றும் CDNகளுக்கு கூறுகின்றன. இந்த வழிமுறைகளைப் புரிந்துகொண்டு அவற்றை சரியாக செயல்படுத்துவது உகந்த செயல்திறனுக்கு முக்கியமானது.
கேசிங் அடிப்படைகள்
HTTP கேசிங் உள்ளடக்கம் கேச் செய்யப்படலாம் மற்றும் எவ்வளவு காலம் என்பதைக் குறிக்கும் பதில் தலைப்புகளின் அடிப்படையில் செயல்படுகிறது.
கேச்-கன்ட்ரோல் தலைப்பு
கேச் நடத்தையை கட்டுப்படுத்துவதற்கான முதன்மை வழிமுறை. ஒவ்வொரு ஸ்மார்ட் மணி 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 minutes |
சிக்னல் உறுதிப்படுத்தல், எச்சரிக்கைகள் |
| தினசரி OHLCV |
1 hour |
தொழில்நுட்ப பகுப்பாய்வு, விளக்கப்படங்கள் |
| வரலாற்று பகுப்பாய்வு |
24 hours |
பின்தேர்வு, ஆராய்ச்சி |
| நிலையான உள்ளடக்கம் |
7 days |
API ஆவணங்கள், வழிகாட்டிகள், கட்டமைப்பு |
உங்கள் API விசையை 30 வினாடிகளில் பெறவும்
கட்டமைக்க தயாரா? இலவச API விசையைப் பெற்றுக்கொள்ளுங்கள் (100 அழைப்புகள்/நாள், அட்டை தேவையில்லை) மற்றும் நேரடி திமிங்கல, நிதியளிப்பு மற்றும் சங்கிலி தரவுகளை எடுக்கத் தொடங்குங்கள்.
உங்கள் API விசையைப் பெறவும் →
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" |
சொற்பொருள் ரீதியாக சமமான, காட்சி மாற்றங்களுக்கு |
கேஷ் கண்ட்ரோல் டைரக்டிவ்கள்
கேஷ்-கண்ட்ரோல் டைரக்டிவ்களை புரிந்துகொள்வது உங்கள் பயன்பாட்டிற்கு உகந்த கேஷிங் உத்திகளை உருவாக்க உதவுகிறது.
டைரக்டிவ் குறிப்பு
| டைரக்டிவ் |
பொருள் |
உதாரணம் |
| 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 பதில்களை 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. பதில் தலைப்புகளை மதிக்கவும்
ஸ்மார்ட் மணி 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. கேச் செயல்திறனை கண்காணிக்கவும்
ஹிட் ரேட்கள் மற்றும் தாமத மேம்பாடுகளைக் கண்காணிக்கவும். தரவு புதுப்பித்தல் தேவைகள் மற்றும் கேச் செயல்திறன் அடிப்படையில் TTLகளை சரிசெய்யவும்.
5. Vary தலைப்புகளை கவனமாகப் பயன்படுத்தவும்
Vary தலைப்புகள் தனி கேச் உள்ளீடுகளை உருவாக்குவதன் மூலம் கேச் ஹிட்களைக் குறைக்கின்றன. வெவ்வேறு அங்கீகார நிலைகள் அல்லது பாராமீட்டர்களுக்கு தேவைப்படும்போது மட்டுமே பயன்படுத்தவும்.
6. பல அடுக்குகளில் கேச் செய்யவும்
CDN, உலாவி மற்றும் பயன்பாட்டு நிலைகளில் கேசிங் செயல்படுத்தவும். ஒவ்வொரு அடுக்கும் ஒரிஜினைத் தாக்கும் முன் கோரிக்கைகளைப் பிடிக்கும்.
உங்கள் API செயல்திறனை மேம்படுத்தவும்
ஸ்மார்ட் மணி API இன் கேசிங் உள்கட்டமைப்பு உலகளாவிய அளவில் 100ms க்கும் குறைவான பதில்களை உறுதி செய்கிறது. செயல்திறன் மற்றும் செலவுகளை குறைக்க அறிவார்ந்த கேசிங் உத்திகளை செயல்படுத்தவும்.
திட்டங்களை ஒப்பிடுக
அனைத்து திட்டங்களும் முழு CDN கேசிங்கை உள்ளடக்கியது. உயர் டையர்கள் கேச் கண்ட்ரோல் மற்றும் பர்ஜிங் APIகளை வழங்குகின்றன.