首页 > 解决方案 > 在html5 localStorage中存储十亿双/整数的数组?

问题描述

我在这里挑战 HTML5 的极限。

我有这个问题:我有一个十亿双精度数(或整数)的 javascript 数组,反正有很多数字。我想将它存储在 HTML5 localStorage 中。

你可能会说,嘿,就用 JSON.Stringify,但是,JSON.Stringify 会产生一个 200MB 的巨大字符串。因为,一个数字(例如 0.03910319)被存储为一个字符串(所以每个数字占用一些字节,而不是整个数字只占用几个字节)。

我在考虑先对数组中的数字进行base64编码,然后再应用JSON.stringify?

或者例如 JSON.Stringify 然后是 GZip 或者使用一些压缩功能更好?

想出你的创意来编码/解码十亿整数/双精度的javascript数组,以有效地处理localStorage变量。

TensorFlowJS

我查看了 TensorflowJS,我的数组基本上是一维张量。Tensorflow 有一些模型的存储能力……也许这是一个可行的解决方案。

标签: javascriptarraystensorflowcompressionlocal-storage

解决方案


对于也处理此问题的任何人:

我为我的数据使用了 Float32Array(javascript 类型数组)。

使用https://github.com/localForage/localForage可以轻松地将 Float32Array 存储在 IndexedDB 中


推荐阅读