2012-07-04 10 views
7

LocalStorage di HTML5 WebStorage ha una dimensione massima di 5 MB.La dimensione massima di HTML5 localStorage include i nomi delle chiavi?

Questo include i nomi dei tasti?

Per esempio, se dovessi usare i nomi di chiavi "piuttosto-un-lungo-chiave-nome-e-questo-è-solo-1" invece di "chiave1", sarei a corto di spazio prima?

Su un argomento leggermente correlato; esiste una convenzione di fatto per nominare le chiavi localStorage? Come evitare le collisioni nello spazio dei nomi quando si utilizzano script JS di terze parti?

risposta

8

Questo include i nomi dei tasti?

Sì, sì, diventano parte dei dati, ad esempio identificano i dati archiviati e recuperano in seguito in modo da poter essere salvati.

Come evitare le collisioni nello spazio dei nomi quando si utilizzano script JS di terze parti?

Questa è una buona domanda, generalmente prefisso localStorage con il nome dell'applicazione. Anche se un approccio migliore sarebbe quello di creare un hash, ad esempio un algoritmo che accetta una stringa come il nome dell'applicazione, ecc. E in seguito, quando li leggi, li usi di nuovo.

+0

Attualmente sto optando per un prefisso dell'applicazione (o meglio , jQuery plug-in) nome pure. Un hash funzionerebbe solo se ripetibile, nel qual caso potreste anche usare il nome. – Martijn

+0

@Martijn: Sì, intendevo un hash univoco che non ha possibilità di collisione e crittografabile e in grado di decifrare (salvataggio, recupero) :) Questo è un argomento diverso però – Blaster

6

Prima nota che questa operazione dipende dall'implementazione come the norm doesn't give a limit. Quindi non dovresti fare affidamento sulle dimensioni.

In secondo luogo, sì, il limite nei browser di oggi include i nomi: questa è la dimensione dello spazio di archiviazione ("spazio su disco").

Per evitare collisioni, utilizzo lo spazio dei nomi (ad es. myplugin.mypart.myval). 5 MB sono già grandi per uno spazio di archiviazione che può essere eliminato o non più disponibile in qualsiasi momento quindi non ho mai pensato di ridurre le dimensioni delle chiavi ...

+0

Quindi sarebbe vantaggioso usare poche chiavi e combinare i dati se possibile? – Martijn

+0

Se hai davvero bisogno di massimizzare l'uso dello spazio, sì. Ma fai attenzione che ci sono limiti intrinseci all'uso di uno spazio non controllato in un browser che può essere sostituito o peggio (la maggior parte degli umani ha più di un browser). –

+1

Non si tratta tanto di ridurre al minimo il mio spazio di archiviazione, quanto piuttosto di massimizzare lo spazio disponibile per altri script JS. 5 MB è un bel po 'di spazio ... a meno che ogni script JS inizi a trattare 5 MB come "un bel po' di spazio". – Martijn

Problemi correlati