Tài liệu API
Hướng dẫn Tích hợp Bộ nhớ đệm Phản hồi và CDN
Tối ưu hiệu suất Smart Money API với chiến lược bộ nhớ đệm thông minh. Tìm hiểu tiêu đề bộ nhớ đệm HTTP, xác thực ETag, tích hợp CDN và mẫu bộ nhớ đệm phía máy khách để giảm độ trễ và chi phí băng thông.
Đã xuất bản ngày 21 tháng 3, 2026
•
16 phút đọc
•
Hiệu suất
Tổng quan về Bộ nhớ đệm
Các điểm cuối Smart Money API cung cấp dữ liệu thị trường tiền điện tử thay đổi ở các tần suất khác nhau. Một số dữ liệu (địa chỉ cá voi, tỷ lệ funding) cập nhật mỗi vài giây, trong khi dữ liệu khác (phân tích lịch sử, nội dung giáo dục) giữ nguyên trong nhiều giờ. Bộ nhớ đệm thông minh cải thiện đáng kể hiệu suất và giảm chi phí.
Smart Money API triển khai chiến lược bộ nhớ đệm ba tầng:
- Bộ nhớ đệm CDN Edge — Phân phối nội dung toàn cầu với xóa bộ nhớ đệm tự động
- Bộ nhớ đệm Trình duyệt HTTP — Bộ nhớ đệm phía máy khách sử dụng tiêu đề HTTP tiêu chuẩn
- Bộ nhớ đệm Ứng dụng — Bộ nhớ đệm trong bộ nhớ cho các tập dữ liệu truy cập thường xuyên
Thông tin Hiệu suất: Phản hồi được lưu trong bộ nhớ đệm phục vụ nhanh hơn 50-100 lần so với yêu cầu API mới và tiết kiệm đáng kể băng thông. Một tích hợp bộ nhớ đệm đúng cách có thể giảm lượng truyền dữ liệu từ 70-85%.
Mọi phản hồi Smart Money API đều bao gồm các chỉ thị bộ nhớ đệm cho biết dữ liệu còn hiệu lực trong bao lâu. Hiểu và triển khai đúng các chỉ thị này là rất quan trọng để đạt hiệu suất tối ưu.
Nguyên tắc Cơ bản về Bộ nhớ đệm
Bộ nhớ đệm HTTP hoạt động dựa trên các tiêu đề phản hồi cho biết nội dung có thể được lưu trong bộ nhớ đệm hay không và trong bao lâu.
Tiêu đề Cache-Control
Cơ chế chính để kiểm soát hành vi bộ nhớ đệm. Mọi phản hồi Smart Money API đều bao gồm tiêu đề Cache-Control chỉ định:
- max-age — Thời gian tính bằng giây mà phản hồi còn hiệu lực
- public/private — Liệu các bộ nhớ đệm trung gian có thể lưu trữ nó hay không
- must-revalidate — Có kiểm tra tính mới trước khi phục vụ hay không
- no-store — Không lưu trữ dữ liệu nhạy cảm
Ví dụ về Tiêu đề Bộ nhớ đệm
Các điểm cuối khác nhau có yêu cầu bộ nhớ đệm khác nhau:
// Dữ liệu địa chỉ cá voi (cập nhật mỗi 5 phút)
Cache-Control: public, max-age=300
ETag: "abc123def456"
// Tỷ lệ funding thời gian thực (cập nhật mỗi giây)
Cache-Control: public, max-age=1
ETag: "xyz789abc123"
// Dữ liệu lịch sử (không thay đổi)
Cache-Control: public, max-age=86400, immutable
ETag: "static-content-v1"
Thời gian Bộ nhớ đệm theo Loại Điểm cuối
| Loại Dữ liệu |
Thời gian Bộ nhớ đệm |
Trường hợp Sử dụng |
| Funding Thời gian thực |
1-5 giây |
Giao dịch trực tiếp, định cỡ vị thế |
| Di chuyển Cá voi |
5 phút |
Xác nhận tín hiệu, cảnh báo |
| OHLCV Hàng ngày |
1 giờ |
Phân tích kỹ thuật, biểu đồ |
| Phân tích Lịch sử |
24 giờ |
Kiểm tra ngược, nghiên cứu |
| Nội dung Tĩnh |
7 ngày |
Tài liệu API, hướng dẫn, cấu hình |
Nhận khóa API của bạn trong 30 giây
Sẵn sàng xây dựng? Lấy khóa API miễn phí (100 lần gọi/ngày, không cần thẻ) và bắt đầu lấy dữ liệu cá voi, funding và on-chain trực tiếp.
Nhận khóa API của bạn →
ETag và Yêu cầu Có điều kiện
ETag (Thẻ Thực thể) cung cấp cách hiệu quả để xác thực nội dung được lưu trong bộ nhớ đệm mà không cần tải toàn bộ phản hồi.
Cách ETag Hoạt động
- Yêu cầu Ban đầu — Máy khách yêu cầu dữ liệu, máy chủ phản hồi với ETag
- Lưu trữ Bộ nhớ đệm — Máy khách lưu phản hồi cùng với ETag
- Yêu cầu Tiếp theo — Client gửi header If-None-Match cùng với ETag đã lưu
- Xác thực — Nếu dữ liệu không thay đổi, server trả về 304 Not Modified
- Tiết kiệm Băng thông — Không gửi nội dung phản hồi, tiết kiệm đáng kể băng thông
Triển khai ETag
// Yêu cầu đầu tiên
GET /v1/whales/btc HTTP/1.1
// Phản hồi bao gồm ETag
HTTP/1.1 200 OK
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
Content-Type: application/json
{...nội dung phản hồi...}
// Sau khi cache hết hạn, gửi If-None-Match
GET /v1/whales/btc HTTP/1.1
If-None-Match: "8a3b9c2d"
// Nếu không thay đổi, server phản hồi 304
HTTP/1.1 304 Not Modified
ETag: "8a3b9c2d"
Cache-Control: public, max-age=300
// Không gửi nội dung! Tiết kiệm băng thông
Độ mạnh của ETag
ETag có thể mạnh hoặc yếu:
| Loại |
Định dạng |
Trường hợp sử dụng |
| ETag mạnh |
"8a3b9c2d" |
Giống hệt từng byte, dùng để xác thực |
| ETag yếu |
W/"8a3b9c2d" |
Tương đương về ngữ nghĩa, cho thay đổi hiển thị |
Chỉ thị Cache Control
Hiểu các chỉ thị Cache-Control giúp xây dựng chiến lược caching tối ưu cho ứng dụng của bạn.
Tham chiếu Chỉ thị
| Chỉ thị |
Ý nghĩa |
Ví dụ |
| max-age |
Số giây phản hồi còn mới |
max-age=300 |
| public |
Cache có thể lưu trữ và chia sẻ |
public |
| private |
Chỉ cache cho người nhận |
private |
| must-revalidate |
Xác thực lại khi hết hạn |
must-revalidate |
| no-cache |
Phải xác thực lại trước khi sử dụng |
no-cache |
| no-store |
Không lưu cache |
no-store |
| immutable |
Không bao giờ thay đổi, cache vĩnh viễn |
immutable |
| s-maxage |
Thời gian cache CDN |
s-maxage=3600 |
Mẫu Cache-Control Thực tế
// Mẫu 1: Cache trình duyệt, CDN trong 1 giờ
Cache-Control: public, max-age=300, s-maxage=3600
// Mẫu 2: Dữ liệu riêng người dùng, không cache proxy
Cache-Control: private, max-age=1800
// Mẫu 3: Luôn mới, luôn kiểm tra
Cache-Control: public, no-cache, must-revalidate
// Mẫu 4: Tài nguyên có phiên bản bất biến
Cache-Control: public, max-age=31536000, immutable
Tích hợp CDN
Smart Money API phân phối phản hồi thông qua mạng CDN toàn cầu của Cloudflare, tự động lưu cache phản hồi tại các vị trí biên trên toàn thế giới để giảm thiểu độ trễ.
Cách hoạt động của Smart Money CDN
- Yêu cầu Người dùng — Yêu cầu đến vị trí biên Cloudflare gần nhất
- Kiểm tra Cache — Biên kiểm tra xem phản hồi có được cache và còn mới không
- Cache Hit — Nếu đã cache, phục vụ ngay lập tức với độ trễ <10ms
- Cache Miss — Nếu chưa cache, tìm nạp từ server gốc
- Lưu trữ và Phục vụ — Cache phản hồi và gửi đến người dùng
Cấu hình Cache Key
Cloudflare sử dụng cache key để xác định duy nhất các phản hồi đã cache. Mặc định:
- Đường dẫn yêu cầu và tham số truy vấn được bao gồm
- Hầu hết các header bị bỏ qua (để tối đa hóa cache hit)
- Header Authorization KHÔNG được bao gồm (không rò rỉ tài khoản)
- Header tùy chỉnh có thể được bao gồm qua header Vary
Xóa bỏ CDN
Smart Money tự động xóa cache CDN khi dữ liệu cập nhật:
// Xóa URL cụ thể khỏi CDN
curl -X POST "https://api.smartmoneyapi.com/v1/cache/purge" \
-H "Authorization: Bearer token" \
-d '{
"urls": [
"https://api.smartmoneyapi.com/v1/whales/btc"
]
}'
Đo lường Hiệu suất CDN
Kiểm tra header phản hồi để xem yêu cầu có được phục vụ từ cache không:
// Cache hit từ CDN biên
CF-Cache-Status: HIT
CF-RAY: 8a9b7c6d5e4f3g2h
Age: 45 // giây kể từ khi cache
// Cache miss, tìm nạp từ server gốc
CF-Cache-Status: MISS
Age: 0
Cache Phía Client
Triển khai cache trong ứng dụng của bạn để giảm thêm lệnh gọi API và cải thiện khả năng phản hồi.
Triển khai Cache Trình duyệt
// Tạo bộ lưu trữ cache
const cache = new Map();
async function fetchWithCache(url) {
// Kiểm tra bộ nhớ cache trước
const cached = cache.get(url);
if (cached && !isCacheExpired(cached)) {
return cached.data;
}
// Lấy dữ liệu từ API
const response = await fetch(url);
const data = await response.json();
// Phân tích thời gian cache từ headers
const cacheControl = response.headers
.get('cache-control');
const maxAge = parseMaxAge(cacheControl);
// Lưu vào bộ nhớ cache
cache.set(url, {
data,
expiry: Date.now() + (maxAge * 1000)
});
return data;
}
Service Worker Caching
Để hỗ trợ offline và các chiến lược caching nâng cao, hãy sử dụng Service Workers:
// Cache các phản hồi API với Service Worker
self.addEventListener('fetch', (event) => {
if (event.request.url.includes('api.smartmoneyapi.com')) {
// Ưu tiên mạng, sau đó fallback vào cache
event.respondWith(
fetch(event.request)
.then(response => {
// Cập nhật cache với phản hồi mới
caches.open('api-cache')
.then(cache => cache.put(
event.request, response.clone()));
return response;
})
.catch(() =>
caches.match(event.request))
);
}
});
Cache Busting Strategies
Đôi khi bạn cần buộc client lấy dữ liệu mới. Sử dụng các kỹ thuật sau:
Version Parameter
Thêm tham số phiên bản để vô hiệu hóa cache khi dữ liệu thay đổi:
// Bao gồm phiên bản dữ liệu hoặc dấu thời gian
https://api.smartmoneyapi.com/v1/whales/btc?v=1709980800
// Khi dữ liệu cập nhật, tăng phiên bản
https://api.smartmoneyapi.com/v1/whales/btc?v=1709981000
// URL mới = mục cache mới
Force Revalidation
Ghi đè cache với Cache-Control: no-cache khi bạn cần dữ liệu mới:
// JavaScript: Buộc yêu cầu mới
fetch(url, {
cache: 'no-cache', // Luôn xác thực lại
headers: {
'Cache-Control': 'max-age=0'
}
});
Monitoring Cache Performance
Theo dõi tỷ lệ hit cache và cải thiện hiệu suất để xác thực chiến lược caching của bạn.
Cache Metrics to Monitor
- Hit Rate — Tỷ lệ yêu cầu được phục vụ từ cache (mục tiêu: >70%)
- Response Time — Độ trễ trung bình (cache: <50ms, không cache: 100-300ms)
- Bandwidth Saved — Giảm lượng dữ liệu truyền tải
- Origin Load — Giảm yêu cầu tại máy chủ gốc
Analyzing Cache Headers
// Phân tích headers cache của phản hồi
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')
};
}
Caching Best Practices
1. Tôn trọng Response Headers
Luôn tôn trọng Cache-Control headers từ Smart Money API. Không cache nội dung được đánh dấu no-store hoặc no-cache.
2. Triển khai Conditional Requests
Gửi If-None-Match (ETag) và If-Modified-Since headers khi xác thực lại nội dung cache. Tiết kiệm băng thông với phản hồi 304.
3. Cache phù hợp theo loại dữ liệu
- Dữ liệu thời gian thực (funding rates): cache tối đa 1-5 giây
- Tín hiệu trực tiếp (whale movement): cache 5-30 giây
- Dữ liệu hàng giờ (OHLCV): cache 1 giờ
- Dữ liệu lịch sử: cache 24 giờ
- Nội dung tĩnh: cache 7 ngày
4. Theo dõi hiệu quả cache
Theo dõi tỷ lệ hit và cải thiện độ trễ. Điều chỉnh TTLs dựa trên yêu cầu độ tươi của dữ liệu và hiệu suất cache.
5. Sử dụng Vary Headers cẩn thận
Vary headers giảm hit cache bằng cách tạo các mục cache riêng biệt. Chỉ sử dụng khi cần thiết cho các mức xác thực hoặc tham số khác nhau.
6. Cache ở nhiều lớp
Triển khai caching tại CDN, trình duyệt và ứng dụng. Mỗi lớp bắt các yêu cầu trước khi đến máy chủ gốc.
Optimize Your API Performance
Cơ sở hạ tầng caching của Smart Money API đảm bảo phản hồi dưới 100ms ở quy mô toàn cầu. Triển khai các chiến lược caching thông minh để tối đa hóa hiệu suất và giảm thiểu chi phí.
Compare Plans
Tất cả các gói đều bao gồm CDN caching đầy đủ. Các gói cao cấp cung cấp API kiểm soát và xóa cache.