Vercel Blob consistent reads: tách freshness, concurrency và cache

Tech
Lượt xem 3

get()presignUrl() private hỗ trợ useCache: false để bỏ qua CDN. Sau khi overwrite cùng pathname, read mặc định có thể trả version cũ trong tối đa 60 giây.

Vercel Blob consistent reads: tách freshness, concurrency và cache
useCache: false đọc overwrite mới nhất của Blob private. Hướng dẫn agent memory, ETag, authorization và browser cache.

Điểm mới

get()presignUrl() private hỗ trợ useCache: false để bỏ qua CDN. Sau khi overwrite cùng pathname, read mặc định có thể trả version cũ trong tối đa 60 giây.

Freshness không phải concurrency

Option chỉ giải quyết read-after-write. Nhiều writer cần ETag và ifMatch để conflict tạo BlobPreconditionFailedError thay vì làm mất thay đổi.

Auth và delivery cache

Kiểm tra authorization trong route handler cạnh get(). Vercel khuyên private, no-cache cho browser và no-store cho dữ liệu rất nhạy cảm.

Mô hình vận hành

Phân loại object thành immutable asset, mutable state hoặc derived snapshot. Chỉ dùng origin read cho agent memory, checkpoint và xác minh tức thì.

Rủi ro

Bỏ qua CDN làm tăng latency và Fast Origin Transfer. Khi cần transaction hoặc nhiều writer, Postgres có thể đơn giản hơn.

Checklist

Kiểm kê allowOverwrite

Xác nhận @vercel/blob ≥ 2.6.1

Test xung đột ETag

Theo dõi origin read

Nguồn