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 ප්රතිචාරයකම කෑෂ් උපදෙස් ඇතුළත් වන අතර එමඟින් දත්ත කොපමණ කාලයක් වලංගුව පවතියිද යන්න ක්ලයන්ට් සහ CDN වලට දැනුම් දෙයි. මෙම උපදෙස් තේරුම් ගැනීම සහ ඒවා නිවැරදිව ක්රියාත්මක කිරීම ප්රශස්ත කාර්ය සාධනය සඳහා ඉතා වැදගත් වේ.
කෑෂ් මූලික කරුණු
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 ලියකියවිලි, මාර්ගෝපදේශ, වින්යාසය |
ඔබගේ API යතුර තත්පර 30න් ලබා ගන්න
ගොඩනැගීමට සූදානම්ද? නොමිලේ API යතුරක් ගන්න (දිනකට ඇමතුම් 50, කාඩ් අවශ්ය නැත) සහ සජීවී වේල්, අරමුදල් සහ චේන් දත්ත ලබා ගැනීම ආරම්භ කරන්න.
ඔබගේ API යතුර ලබා ගන්න →
ETag සහ කොන්දේසි සහිත ඉල්ලීම්
ETags (Entity Tags) සම්පූර්ණ ප්රතිචාර ශරීරය බාගත නොකර කෑෂ් කළ අන්තර්ගතය සත්යාපනය කිරීමට කාර්යක්ෂම ක්රමයක් සපයයි.
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 |
කිසිවිටෙක වෙනස් නොවේ, සදහටම කෑෂ් කරන්න |
අවිනාශ්ය |
| 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. ප්රතිචාර හෙඩර් ගරු කරන්න
ස්මාර්ට් මනි 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 කාර්ය සාධනය ප්රශස්ත කරන්න
Smart Money API හි කෑෂ් යටිතල පහසුකම් ගෝලීය පරිමාණයෙන් උප-100ms ප්රතිචාර සහතික කරයි. කාර්ය සාධනය උපරිම කිරීම සහ පිරිවැය අවම කිරීම සඳහා බුද්ධිමත් කෑෂ් උපාය මාර්ග ක්රියාත්මක කරන්න.
සැලසුම් සංසන්දනය කරන්න
සියලුම සැලසුම්වල සම්පූර්ණ CDN කෑෂින් ඇතුළත් වේ. උසස් තල කෑෂ් පාලනය සහ පරිශීලන API සපයයි.