תיעוד ה-API
מדריך לשימוש במטמון תגובות ואינטגרציה עם CDN
שפרו את ביצועי Smart Money API באמצעות אסטרטגיות מטמון חכמות. למדו על כותרות מטמון HTTP, אימות ETag, אינטגרציה עם CDN ודפוסי מטמון בצד הלקוח כדי להפחית עיכובים ועלויות רוחב פס.
פורסם ב-21 במרץ 2026
•
16 דקות קריאה
•
ביצועים
סקירת מטמון
נקודות הקצה של Smart Money API מספקות נתוני שוק קריפטו המשתנים בתדירויות שונות. חלק מהנתונים (כתובות לווייתנים, שערי מימון) מתעדכנים כל כמה שניות, בעוד שנתונים אחרים (ניתוח היסטורי, תוכן חינוכי) נשארים סטטיים במשך שעות. שימוש במטמון חכם משפר משמעותית את הביצועים ומפחית עלויות.
Smart Money API מיישם אסטרטגיית מטמון תלת-שכבתית:
- מטמון קצה CDN — אספקת תוכן גלובלית עם ביטול מטמון אוטומטי
- מטמון דפדפן HTTP — מטמון בצד הלקוח באמצעות כותרות HTTP סטנדרטיות
- מטמון אפליקציה — מטמון בזיכרון עבור מערכי נתונים שנצרכים בתדירות גבוהה
תובנת ביצועים: תגובות במטמון נשלפות במהירות הגבוהה פי 50-100 מבקשות API חדשות וחוסכות משמעותית ברוחב פס. אינטגרציה עם מטמון תקין יכולה להפחית את העברת הנתונים ב-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 יומיים |
שעה |
ניתוח טכני, תרשימים |
| ניתוח היסטורי |
24 שעות |
בדיקות היסטוריות, מחקר |
| תוכן סטטי |
7 ימים |
תיעוד API, מדריכים, הגדרות |
קבלו מפתח API תוך 30 שניות
מוכנים לבנות? קבלו מפתח API בחינם (100 קריאות/יום, ללא כרטיס) והתחילו למשוך נתונים חיים על לווייתנים, מימון ונתוני שרשרת.
קבלו מפתח API →
ETag ובקשות מותנות
תגי ETag מספקים דרך יעילה לאמת תוכן במטמון ללא צורך בהורדת גוף התגובה המלא.
איך ETag עובד
- בקשה ראשונית — הלקוח מבקש נתונים, השרת מגיב עם 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" |
שווה סמנטית, לשינויים בתצוגה |
הוראות Cache Control
הבנת הוראות 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 לשעה אחת
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 העולמית של Cloudflare, ומאחסן תגובות באופן אוטומטי במיקומי קצה ברחבי העולם לצמצום השהייה.
איך עובד ה-CDN של Smart Money
- בקשה ממשתמש — הבקשה מגיעה למיקום הקצה הקרוב ביותר של Cloudflare
- בדיקת מטמון — הקצה בודק אם התגובה במטמון וטרייה
- פגיעה במטמון — אם במטמון, לספק מיידית עם השהייה של פחות מ-10ms
- החטאה במטמון — אם לא במטמון, לאחזר משרת המקור
- אחסון ומסירה — לאחסן את התגובה במטמון ולמסור למשתמש
הגדרת מפתח מטמון
Cloudflare משתמש במפתחות מטמון כדי לזהות באופן ייחודי תגובות במטמון. כברירת מחדל:
- נתיב הבקשה ופרמטרי השאילתה כלולים
- רוב הכותרות מתעלמות (כדי למקסם פגיעות במטמון)
- כותרות הרשאה אינן כלולות (ללא דליפת חשבון)
- כותרות מותאמות אישית יכולות להיכלל באמצעות כותרת Vary
ניקוי CDN
Smart Money מנקה באופן אוטומטי את מטמון ה-CDN כאשר הנתונים מתעדכנים:
// נקה כתובת URL ספציפית מה-CDN
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;
}
שימוש ב-Service Worker למטמון
לתמיכה במצב לא מקוון ואסטרטגיות מטמון מתקדמות, השתמשו ב-Service Workers:
// אחסון תגובות API באמצעות Service Worker
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. כיבוד כותרות תגובה
תמיד כיבדו את כותרות Cache-Control מ-Smart Money API. אל תמטחנו תוכן מסומן כ-no-store או no-cache.
2. יישום בקשות מותנות
שלחו If-None-Match (ETag) ו-If-Modified-Since בעת אימות מחדש של תוכן במטמון. חסכו רוחב פס עם תגובות 304.
3. מטמון בהתאם לסוג הנתונים
- נתונים בזמן אמת (שיעורי מימון): מטמון מקסימלי של 1-5 שניות
- איתותים חיים (תנועת לווייתנים): מטמון של 5-30 שניות
- נתונים שעתיים (OHLCV): מטמון של שעה
- נתונים היסטוריים: מטמון של 24 שעות
- תוכן סטטי: מטמון של 7 ימים
4. ניטור יעילות המטמון
עקבו אחר שיעורי פגיעה ושיפורי זמן תגובה. התאימו את TTLs בהתאם לדרישות טריות הנתונים וביצועי המטמון.
5. שימוש זהיר בכותרות Vary
כותרות Vary מפחיתות פגיעות במטמון על ידי יצירת רשומות מטמון נפרדות. השתמשו בהן רק כאשר נחוץ עבור רמות אימות או פרמטרים שונים.
6. מטמון בשכבות מרובות
יישמו מטמון ב-CDN, בדפדפן ובשכבת היישום. כל שכבה תופסת בקשות לפני שהן מגיעות למקור.
מקסמו את ביצועי ה-API שלכם
תשתית המטמון של Smart Money API מבטיחה תגובות מתחת ל-100ms בקנה מידה עולמי. יישמו אסטרטגיות מטמון חכמות כדי למקסם ביצועים ולמזער עלויות.
השוו בין תוכניות
כל התוכניות כוללות מטמון CDN מלא. רמות גבוהות יותר מספקות API לשליטה במטמון ולניקוי.