Vercel Blob、プライベートストレージでの一貫性ある読み取りをサポート
Vercel はプライベートストレージにおけるデータの一貫性読み取り機能を追加し、キャッシュをバイパスして最新データを即時取得するオプションを提供した。
キーポイント
一貫性読み取り機能の追加
既存のキャッシュ期間(最大 60 秒)に依存せず、最新の書き込み内容を即座に反映させる「consistent reads」機能が利用可能になった。
useCache: false パラメータの使用
SDK の get() または presignUrl() メソッドで useCache: false を指定することで、CDN キャッシュをバイパスし、最新データを読み取れる。
パフォーマンスとコストのトレードオフ
キャッシュを無効化すると読み取り速度は遅くなるが、その分「Fast Origin Transfer」のコストが発生する点に注意が必要である。
重要な引用
Pass useCache: false to get() or presignUrl() for a read that reflects the latest write.
When you overwrite a blob at an existing pathname, readers might see the cached version for up to 60 seconds.
影響分析・編集コメントを表示
影響分析
この機能は、AI エージェントやリアルタイム分析ツールなど、データの鮮度が極めて重要なアプリケーションにおいて、Vercel Blob の信頼性を大幅に向上させます。ただし、キャッシュを無効化することによるレイテンシの増加とコスト増というトレードオフがあるため、開発者はユースケースに応じて慎重に設定する必要があります。
編集コメント
AI エージェントのメモリアクセスやリアルタイムデータ処理において、キャッシュによるデータの不整合が課題となっていた開発者にとって、この機能追加は実用的な解決策となります。ただし、パフォーマンスとコストのバランスを考慮した設計が求められます。
Vercel Blob が、プライベートストレージにおける一貫性のある読み取りをサポートするようになりました。最新の書き込みを反映した読み取りを行うには、get() または presignUrl() 関数に useCache: false を指定してください。
新しいパス名に書き込まれたブロッブにはキャッシュエントリが存在しないため、読み取りは即座に最新の内容を反映します。ただし、既存のパス名でブロッブを上書きした場合、最大 60 秒間はキャッシュされたバージョンが表示される可能性があります。
エージェントのメモリファイルやセッション記録、スケジュール実行される JSON レポートなど、最新の書き込みを確実に反映させる必要がある場合は、useCache: false を指定してください。この設定では CDN のキャッシュをバイパスするため、通常のキャッシュ読み取りよりも時間がかかりますが、Fast Origin Transfer が適用されます。
SDK を使わずにキャッシュをバイパスすることも可能です。内部実装としては、useCache: false はリクエストに cache=0 というクエリパラメータを追加する処理を行っています。プライベートなブロッブ URL に対しては、このパラメータを手動で設定することもできます。
一貫性のある読み取りを行うには、最新の @vercel/blob SDK をインストールしてください。
詳細については、一貫性のある読み取りに関するドキュメントをご覧ください。
さらに詳しく読む
原文を表示
Vercel Blob now supports consistent reads on private storage. Pass useCache: false to get() or presignUrl() for a read that reflects the latest write.
A blob written to a fresh pathname has no existing cached entry, so reads reflect the latest write immediately. When you overwrite a blob at an existing pathname, readers might see the cached version for up to 60 seconds.
When a read must reflect the latest write, like an agent's memory file, a session transcript, or a scheduled JSON report, pass useCache: false. These reads bypass the CDN, take longer than cached reads, and incur Fast Origin Transfer.
You can also bypass the cache without the SDK. Under the hood, useCache: false adds a cache=0 query parameter to the request. You can set it yourself on a private blob URL:
Install the latest @vercel/blob SDK for consistent reads:
Learn more in the consistent reads documentation.
Read more
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み