Vercel Blob consistent reads: separar frescura, concurrencia y caché
get() y presignUrl() privados pueden usar useCache: false para saltar el CDN. Tras sobrescribir el mismo pathname, la lectura normal puede devolver la versión anterior hasta 60 segundos.
La novedad
get() y presignUrl() privados pueden usar useCache: false para saltar el CDN. Tras sobrescribir el mismo pathname, la lectura normal puede devolver la versión anterior hasta 60 segundos.
Frescura no es concurrencia
La opción solo resuelve read-after-write. Con varios writers, usa ETag y ifMatch para detectar el conflicto mediante BlobPreconditionFailedError.
Auth y caché de entrega
Autoriza dentro del route handler junto a get(). Vercel recomienda private, no-cache para el navegador y no-store para datos muy sensibles.
Modelo operativo
Clasifica cada objeto como asset inmutable, estado mutable o snapshot derivado. Reserva lecturas de origen para memoria de agentes, checkpoints y verificación inmediata.
Riesgos
Saltar el CDN cuesta latencia y Fast Origin Transfer. Si necesitas transacciones o muchos writers, Postgres puede ser más simple.
Checklist
✓Inventariar allowOverwrite
✓Verificar @vercel/blob ≥ 2.6.1
✓Probar conflictos ETag
✓Medir lecturas de origen