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