Vercel Blob 现在支持私有存储的一致性读取

Vercel Blob 现在支持私有存储的一致性读取

💡 原文英文,约300词,阅读约需1分钟。
📝

内容提要

Vercel Blob 现在支持私有存储的一致性读取。通过在 get() 或 presignUrl() 中传递 useCache: false,可以确保读取反映最新写入。新路径下的 blob 立即可读,而覆盖现有路径的 blob 可能在 60 秒内返回缓存版本。

🎯

关键要点

  • Vercel Blob 现在支持私有存储的一致性读取。

  • 通过在 get() 或 presignUrl() 中传递 useCache: false,可以确保读取反映最新写入。

  • 新路径下的 blob 立即可读,而覆盖现有路径的 blob 可能在 60 秒内返回缓存版本。

  • 当读取必须反映最新写入时,使用 useCache: false 可以绕过 CDN,读取时间会比缓存读取长,并产生快速源传输。

  • 可以在私有 blob URL 上手动设置 cache=0 查询参数以绕过缓存。

🔎

延伸解读

一致性读取的实用性

Vercel Blob 的一致性读取功能对于需要实时数据的应用场景尤为重要。例如,在处理用户会话记录或实时报告时,确保读取到最新数据可以提高系统的可靠性和用户体验。使用 useCache: false 可以有效避免读取到过时的数据,尽管这会导致读取时间延长。

缓存机制的理解

在覆盖现有路径的 blob 时,可能会遇到缓存延迟的问题,最长可达 60 秒。这意味着在更新数据后,用户可能会看到旧版本的数据。因此,在设计系统时,开发者需要考虑何时使用一致性读取,以避免因缓存导致的数据不一致。

绕过 CDN 的注意事项

使用 useCache: false 选项可以绕过 CDN 直接读取最新数据,但这也意味着读取速度可能会受到影响。开发者在使用这一功能时,应权衡数据一致性与性能之间的关系,尤其是在高并发场景下,可能需要优化数据读取策略。

延伸问答

Vercel Blob 的一致性读取是什么?

Vercel Blob 的一致性读取允许用户在私有存储中读取最新写入的数据,确保读取反映最新的更改。

如何确保读取反映最新写入?

可以通过在 get() 或 presignUrl() 中传递 useCache: false 来确保读取反映最新写入。

覆盖现有路径的 blob 读取会有什么影响?

覆盖现有路径的 blob 可能在 60 秒内返回缓存版本,导致读取到旧数据。

使用 useCache: false 会有什么后果?

使用 useCache: false 会绕过 CDN,读取时间会比缓存读取长,并产生快速源传输。

如何手动绕过缓存?

可以在私有 blob URL 上手动设置 cache=0 查询参数来绕过缓存。

Vercel Blob SDK 的最新版本是什么?

最新的 Vercel Blob SDK 版本是 @vercel/blob@2.6.1。

🏷️

标签

➡️

继续阅读