首页 > 解决方案 > 在浏览器中存储大量数据

问题描述

我正在开发一个用于搜索、过滤和探索固定数据集的 Web 应用程序。该数据集适合大约 10 MB 的 JSON。它每年会更改几次,并且可以增量更新。

我想将此数据存储在浏览器中以避免延迟。这是一个硬性要求——当存在许多优秀的替代方案时,响应能力的巨大提升是创建此应用程序的全部原因。我接受它对某些用户来说效果不佳。

在浏览器中持久存储这些数据的最佳方式是什么?我可以将它打包到 localStorage 中,但我必须JSON.parse在每次页面加载时解压缩它。我听说过关于 IndexedDB 的好消息,但我不确定它是否适合存储单个巨型 blob。

标签: javascriptlocal-storage

解决方案


如果您的数据小于 10MB,那么您可以将其存储在 localStorage中,但是存储的大小可以由用户自定义,因此这似乎是有限的。此外,您还会经常进行解析/字符串化,并且只能在内存中进行过滤。

使用 indexedDB 可能是您最好的选择,因为它可以存储更多. 显然对单个项目的大小没有限制,所以如果你愿意,你可以做一个巨大的价值 blob。

你能进一步描述数据的结构吗?如果它是一个列表,那么您的数据是可分区的。您可以利用索引来非常有效地搜索确切的列表项值。


推荐阅读