2017-04-22 5 views
1

localstorageに配列を格納しようとしていますが、3000レコードで動作しますが、レコードが5万〜1万回のコードブレークに増加します。巨大なデータをlocalStorageに格納する

私はlocalStorageに巨大なデータを保存できる何かがありますか?

+1

なぜローカルにたくさんのデータを保存する必要がありますか?ユースケースで質問を更新する必要があります。 – Soviut

答えて

3

LocalStorageには、ブラウザによって異なるサイズ制限があります。これは、悪質なスクリプトがユーザーのハードドライブに感染するのを防ぐためです。

あなたはここに、あなたのブラウザののlocalStorage限界をテストすることができます:https://arty.name/localstorage.html

簡単な答えは、あなたがブラウザによっては、クライアント上のデータの5メガバイト、10メガバイト以上のものを保存しようとするべきではありません。多くのローカルデータを保存する必要がある場合は、おそらくより良い解決策を考え出す必要があります。

データをローカルに格納するもう1つの可能性はIndexedDBです。これはreasonable compatibility across modern browsersです。これは、MongoDBなどの文書データベースとよく似たオブジェクトストアです。文字列に変換せずにオブジェクトを格納することができ、データベースと同じようにオブジェクトを照会することができます。

ほとんどのブラウザでは、IndexedDBストレージに約5MBの「ソフト」制限があるようです。それは必ずしも強制されるわけではないので、ブラウザが許せばもっと多くのストアに行くことができるので、ソフトな制限です。あなたのマイレージは異なる場合があります。

2

ローカルストレージの最大サイズは、悪質なスクリプトがユーザーのハードドライブをいっぱいにしないように5MBです。現代のすべてのブラウザと互換性のあるIndexedDBに行くことができます。最小値または最小値は5MBです。ブラウザはデータの保存の許可を求めます。すべてのデータがマシンディスクにローカルに保存されているため、最大ストレージはハードディスクの限界です。基本的に20GB以上の空き容量があれば、IndexedDBのすべてのストレージを使用できます。

関連する問題