Vercel Blob consistent reads: separare freschezza, concorrenza e cache
get() e presignUrl() privati supportano useCache: false per saltare il CDN. Dopo l'overwrite dello stesso pathname, la lettura normale può restituire la versione precedente fino a 60 secondi.
La novità
get() e presignUrl() privati supportano useCache: false per saltare il CDN. Dopo l'overwrite dello stesso pathname, la lettura normale può restituire la versione precedente fino a 60 secondi.
Freshness non è concorrenza
L'opzione risolve solo il read-after-write. Più writer richiedono ETag e ifMatch per ottenere un BlobPreconditionFailedError invece di perdere modifiche.
Auth e delivery cache
Autorizza nel route handler accanto a get(). Vercel raccomanda private, no-cache nel browser e no-store per dati molto sensibili.
Modello operativo
Classifica gli oggetti come asset immutabili, stato mutabile o snapshot derivati. Riserva l'origin a memory, checkpoint e verifica immediata.
Rischi
Il bypass aumenta latenza e Fast Origin Transfer. Con transazioni o molti writer, Postgres può essere più semplice.
Checklist
✓Censire allowOverwrite
✓Verificare @vercel/blob ≥ 2.6.1
✓Testare conflitti ETag
✓Misurare origin read