2012-07-04 70 views
7

HTML5的localStorage WebStorage的最大大小爲5MB。HTML5 localStorage的最大大小是否包含鍵名?

這是否包含關鍵名稱?例如,如果我要使用密鑰名稱「相當長密鑰名稱和此只是-1」而不是「密鑰1」,我是否會盡快用完空間?

在一個稍微相關的話題;有沒有任何事實上的公約命名localStorage密鑰? 使用第三方JS腳本時如何防止名稱空間衝突?

回答

8

這是否包括鍵名?

是的,他們成爲數據的一部分,例如,他們確定你存儲的數據,以後檢索,以便保存。

當使用第三方JS 腳本時,如何防止名稱空間衝突?

這是一個很好的問題,我通常在應用程序名稱前添加localStorage。雖然更好的方法是創建一個散列,例如一些算法,它接受一個字符串,如應用程序名稱等等,然後在閱讀時再次使用它們。

+0

我目前正在選擇一個前綴我的應用程序(或者更確切地說,jQuery插件)名稱。如果可重複,哈希將只能工作,在這種情況下,您可能只需使用該名稱即可。 – Martijn

+0

@Martijn:是的,我的意思是一個獨特的散列,它沒有碰撞和加密和解密的能力(保存,檢索):)這是一個不同的主題,雖然 – Blaster

6

首先請注意,這是依賴於實施的the norm doesn't give a limit。所以你不應該依賴大小。其次,是的,今天的瀏覽器中的限制包括名稱:這是存儲空間的大小(「磁盤空間」)。

爲了避免衝突,我使用命名空間(例如myplugin.mypart.myval)。 5 MB對於一個可以隨時刪除或不可用的存儲來說已經很大了,所以我從來沒有想過要減少密鑰的大小......

+0

因此,使用幾個鍵和組合數據如果可能的話? – Martijn

+0

如果你真的需要最大限度地利用空間,是的。但請注意,在可替換或更糟糕的瀏覽器中使用非受控空間(大多數人擁有多個瀏覽器)存在固有限制。 –

+1

這與減少我自己的存儲空間並沒有多大關係,而是最大化其他JS腳本可用的空間。 5MB是相當多的空間......除非每個JS腳本開始將5MB視爲「相當多的空間」。 – Martijn

相關問題