我有一个网络应用程序,它提供扫描的旧文档的图像和他们的成绩单,这是很多大约 5 gigs 图像的图像,客户需要定期浏览它们。
我需要一个解决方案来在客户端缓存图像,因为图像是不可变的,它们应该只从服务器获取一次。
我有一个网络应用程序,它提供扫描的旧文档的图像和他们的成绩单,这是很多大约 5 gigs 图像的图像,客户需要定期浏览它们。
我需要一个解决方案来在客户端缓存图像,因为图像是不可变的,它们应该只从服务器获取一次。
这将允许您在客户端计算机上缓存大量 GB。我看不出这将如何长期发挥作用(用户清除缓存、更改浏览器、计算机等)。这听起来像是一个糟糕的问题解决方案。
话虽如此,您应该查看IndexedDB:
IndexedDB 是用于客户端存储大量结构化数据(包括文件/blob)的低级 API。此 API 使用索引来启用对这些数据的高性能搜索。虽然 Web 存储对于存储少量数据很有用,但它对于存储大量结构化数据的用处不大。IndexedDB 提供了一个解决方案。
笔记:
- 此功能在 Web Workers 中可用。
- IndexedDB API 功能强大,但对于简单的情况可能看起来过于复杂。如果您更喜欢简单的 API,请尝试使用 localForage、dexie.js、ZangoDB、PouchDB 和 JsStore 等库,这些库使 IndexedDB 对程序员更友好。