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:

Tiêu đề Phản hồi
// 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 →

Tiêu đề Bộ nhớ đệm HTTP

Phản hồi Smart Money API bao gồm nhiều tiêu đề liên quan đến bộ nhớ đệm hoạt động cùng nhau để tối đa hóa hiệu suất trong khi duy trì tính mới của dữ liệu.

Cache-Control: Tiêu đề Chính

Kiểm soát hành vi bộ nhớ đệm cho trình duyệt và bộ nhớ đệm trung gian:

Chỉ thị Cache-Control
// Dữ liệu công khai, lưu trong bộ nhớ đệm 5 phút
Cache-Control: public, max-age=300
// Dữ liệu riêng tư, chỉ lưu trong trình duyệt
Cache-Control: private, max-age=3600
// Nội dung bất biến, lưu vĩnh viễn
Cache-Control: public, max-age=31536000, immutable
// Luôn xác thực lại trước khi phục vụ
Cache-Control: public, max-age=0, must-revalidate
// Không lưu trữ dữ liệu nhạy cảm
Cache-Control: private, no-store, no-cache

Tiêu đề Expires (Cũ)

Đối với các máy khách cũ, Smart Money cũng cung cấp tiêu đề Expires (HTTP/1.0):

Tiêu đề Expires
// Thời gian hết hạn tuyệt đối
Expires: Wed, 22 Mar 2026 14:30:00 GMT
// Cache-Control max-age được ưu tiên trong HTTP/1.1

Tiêu đề Last-Modified

Cho biết thời điểm nội dung được cập nhật lần cuối, cho phép yêu cầu có điều kiện:

Cách sử dụng Last-Modified
// Phản hồi bao gồm Last-Modified
Last-Modified: Wed, 21 Mar 2026 10:15:30 GMT
// Máy khách xác thực lại với If-Modified-Since
If-Modified-Since: Wed, 21 Mar 2026 10:15:30 GMT
// Nếu không thay đổi, máy chủ phản hồi 304 Not Modified
HTTP/1.1 304 Not Modified

Tiêu đề Vary

Cho bộ nhớ đệm biết tiêu đề yêu cầu nào ảnh hưởng đến phản hồi (xác thực, tham số):

Tiêu đề Vary
// Phản hồi thay đổi theo xác thực và ký hiệu
Vary: Authorization, X-Symbols
// Bộ nhớ đệm lưu các phiên bản riêng cho các giá trị khác nhau

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

  1. 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
  2. Lưu trữ Bộ nhớ đệm — Máy khách lưu phản hồi cùng với ETag
  3. Yêu cầu Tiếp theo — Client gửi header If-None-Match cùng với ETag đã lưu
  4. Xác thực — Nếu dữ liệu không thay đổi, server trả về 304 Not Modified
  5. 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 & Phản hồi Ban đầu
// 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...}
Xác thực Có điều kiện
// 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 Phổ biến
// 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

  1. Yêu cầu Người dùng — Yêu cầu đến vị trí biên Cloudflare gần nhất
  2. Kiểm tra Cache — Biên kiểm tra xem phản hồi có được cache và còn mới không
  3. Cache Hit — Nếu đã cache, phục vụ ngay lập tức với độ trễ <10ms
  4. Cache Miss — Nếu chưa cache, tìm nạp từ server gốc
  5. 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 Cache Thủ công
// 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:

Header Phản hồi
// 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

Cache JavaScript
// 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:

Service Worker
// 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:

Versioned URLs
// 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:

Force Fresh Data
// 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

Cache Analysis Script
// 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.

Related Resources

Start free — 200 calls/day, no card

Nhận dữ liệu live whale flow, funding, open interest và on-chain từ 3 sàn giao dịch từ một API. Gói miễn phí, không cần thẻ tín dụng, nâng cấp bất cứ lúc nào.

Start free →
Try the live API console → (no account needed)