2012-07-04 11 views
7

HTML5のlocalStorage WebStorageの最大サイズは5MBです。HTML5のlocalStorageの最大サイズにはキー名が含まれていますか?

これにはキー名が含まれていますか?

たとえば、「key1」ではなく「かなり長いキー名とこれだけの」1という名前のキー名を使用すると、すぐに空き領域がなくなりますか?

少し関連するトピックです。 localStorageキーの名前を付けるためのデファクト・コンベンションはありますか? サードパーティのJSスクリプトを使用すると、名前空間の衝突はどのように防止されますか?

答えて

8

これにはキー名が含まれていますか?

はい、これらはデータの一部になります。たとえば、保存したデータを特定し、後で取得して保存する必要があります。

サードパーティ製のJS スクリプトを使用すると、名前空間の衝突がどのように防止されますか?

これは良い質問です。私は、通常、アプリケーション名をlocalStorageの前に付けます。より良い方法は、アプリケーション名などの文字列を受け入れ、後で読むときにそれらを再び使用する、いくつかのアルゴリズムなどのハッシュを作成することです。

+0

私は現在、 、jQueryプラグイン)の名前も表示されます。ハッシュは反復可能な場合にのみ動作します。この場合、名前を使用するだけでよいでしょう。 – Martijn

+0

@Martijn:はい、私は衝突の可能性がなく、暗号化と復号化ができない(保存、取り込み)チャンスを持たないユニークなハッシュを意味しました:それは別の話です – Blaster

6

最初は、この実装はthe norm doesn't give a limitに依存していることに注意してください。だからあなたはそのサイズに頼るべきではありません。

第2に、現在のブラウザの制限には、次の名前が含まれています。これは記憶領域のサイズ(「ディスク容量」)です。

衝突を避けるために、私は名前空間(例:myplugin.mypart.myval)を使用します。私はキーのサイズを減らすことを決して考えなかったので、削除することができるか、または利用できなくなったストレージのために5 MBが既に大きいです...

+0

それで少数のキーを使用し、可能なら? – Martijn

+0

スペースを最大限に活用する必要がある場合は、はい。しかし、置き換え可能なブラウザでは制御されていない領域を使用することに固有の制限があることに注意してください(ほとんどの人は複数のブラウザを持っています)。 –

+1

自分のストレージフットプリントを最小限に抑えることではなく、他のJSスクリプトで使用できるスペースを最大限に活用することです。 5MBはすべてのJSスクリプトが "かなりのスペース"として5MBを処理し始めるまで、かなりのスペースです。 – Martijn

関連する問題