2012-03-05 8 views
3

大きなJSONオブジェクトをローカルストレージに保存し、それに他のデータを追加するか、データを含む複数の小さなオブジェクトを使用する方が良いでしょうか?私はそれをいくつかのアプリケーション用の履歴ストレージとして使用したいと思います(私は5MBで十分だと思います)。html5ローカルストレージ内に1つ以上の小さなオブジェクトがあります

localStorage['JSON'] = '{"whole":[{"lotta":"json"}],"data":"here"}'; 

が、いずれにします」: おかげ

答えて

2

実際にデータにアクセスする方法によって異なります。 データの小さな部分にしばらくアクセスしたい場合は、小さなオブジェクトに配置する必要があります。私はしばらく前にいくつかのパフォーマンステストを行い、多くのオブジェクトで満たされたlocalStorageのオブジェクトの検索が高速に終了することを発見しました。小さなオブジェクトを使用する場合は、大きなjsonオブジェクトを読み込んで解析する必要がないため、メモリを少なくすることができます。 一方、localStorageの読み取りはブロック機能であることに注意してください。ですから、オブジェクト全体を反復処理する必要がある場合は、ブラウザ全体をブロックする可能性があります。その場合、データを巨大なチャンクに保存してすぐに読む方が良いかもしれません。

+0

「このデータを巨大なチャンクに保存して一度に読む」+1。 – CENT1PEDE

0

は、それは確かにそう

localStorage.setItem('JSON', '{"whole":[{"lotta":"json"}],"data":"here"}'); 

あなたもそうのような通常のオブジェクトと同じようlocalStorageを使用することができますように一つの機能と一つの項目を呼び出すことが簡単ですJSONを解析して関数を実行する必要があります。

本当にどれくらいの履歴を保存するかによって異なります。あなたはそれをどのように保存したいのですか?

localStorageまた、現在の訪問中に履歴を保存する必要がある場合は、sessionStorageとまったく同じ方法を使用できます。

0

私は通常、より小さなオブジェクトでそれを使用しています。私はCarboStorageライブラリを使用しています。これはlocalStorageのラッパーです。

関連する問題