Vercel Blob consistent reads: แยก freshness, concurrency และ cache

Tech
ยอดดู 118

private get() และ presignUrl() ใช้ useCache: false เพื่อข้าม CDN ได้ หลัง overwrite pathname เดิม read ปกติอาจคืน version เก่านานถึง 60 วินาที

Vercel Blob consistent reads: แยก freshness, concurrency และ cache
useCache: false อ่าน overwrite ล่าสุดของ private Blob พร้อมแนวทาง agent memory, ETag, authorization และ browser cache

สิ่งที่เปลี่ยน

private get() และ presignUrl() ใช้ useCache: false เพื่อข้าม CDN ได้ หลัง overwrite pathname เดิม read ปกติอาจคืน version เก่านานถึง 60 วินาที

Freshness ไม่ใช่ concurrency

option นี้แก้เฉพาะ read-after-write หลาย writer ต้องใช้ ETag กับ ifMatch เพื่อให้ conflict แสดงเป็น BlobPreconditionFailedError

Auth และ delivery cache

ตรวจ authorization ใน route handler ใกล้ get() Vercel แนะนำ private, no-cache สำหรับ browser และ no-store สำหรับข้อมูลอ่อนไหวมาก

โมเดลปฏิบัติการ

จำแนก object เป็น immutable asset, mutable state หรือ derived snapshot ใช้ origin read เฉพาะ agent memory, checkpoint และการตรวจทันที

ความเสี่ยง

การข้าม CDN เพิ่ม latency และ Fast Origin Transfer หากต้องการ transaction หรือ writer จำนวนมาก Postgres อาจง่ายกว่า

เช็กลิสต์

✓สำรวจ allowOverwrite

✓ตรวจ @vercel/blob ≥ 2.6.1

✓ทดสอบ ETag conflict

✓ติดตาม origin read

แหล่งข้อมูล

다른 글