2012-07-04 13 views
7

LocalStorage WebStorage de HTML5 tiene un tamaño máximo de 5 MB.¿El tamaño máximo de HTML5 localStorage incluye nombres clave?

¿Esto incluye los nombres de las teclas?

Por ejemplo, si tuviera que usar los nombres clave "bastante-largo-clave-nombre-y-esto-es-solamente-1" en lugar de "clave1", ¿me quedaría sin espacio antes?

En un tema ligeramente relacionado; ¿Existe alguna convención de facto para nombrar las claves locales de almacenamiento? ¿Cómo se evitan las colisiones del espacio de nombres cuando se utilizan scripts de JS de terceros?

Respuesta

8

¿Esto incluye los nombres de las teclas?

Sí, estos se vuelven parte de los datos, por ejemplo, identifican los datos que almacena y luego los recupera, de modo que también se guardan.

¿Cómo se evitan las colisiones del espacio de nombres cuando se utilizan scripts de terceros JS ?

Esa es una buena pregunta, generalmente prefiero localStorage con el nombre de la aplicación. Aunque un mejor enfoque sería crear un algoritmo hash, por ejemplo, un algoritmo que acepte una cadena como el nombre de la aplicación, etc. y más tarde al leer, usarlos de nuevo.

+0

Actualmente estoy optando por un prefijo de mi aplicación (o más bien) , jQuery plug-in) también. Un hash funcionaría solo si es repetible, en cuyo caso también podría usar el nombre. – Martijn

+0

@Martijn: Sí, me refiero a un hash único que no tiene posibilidad de colisión y cifrable y descifrable (guardar, recuperar) :). Eso es un tema diferente, aunque – Blaster

6

Primero tenga en cuenta que esto depende de la implementación como the norm doesn't give a limit. Entonces no deberías confiar en el tamaño.

En segundo lugar, sí, el límite en los navegadores actuales incluye los nombres: este es el tamaño del espacio de almacenamiento ("espacio en disco").

Para evitar colisiones, uso el espacio de nombres (por ejemplo, myplugin.mypart.myval). 5 MB ya es grande para un almacenamiento que puede eliminarse o no estar disponible más en cualquier momento, así que nunca pensé en reducir el tamaño de las teclas ...

+0

Por lo tanto, sería beneficioso usar algunas teclas y combinar datos ¿si es posible? – Martijn

+0

Si realmente necesita maximizar el uso del espacio, sí. Pero tenga cuidado de que haya límites inherentes al uso de un espacio no controlado en un navegador que puede ser reemplazado o peor (la mayoría de los seres humanos tiene más de un navegador). –

+1

No se trata tanto de minimizar mi propia huella de almacenamiento, sino más bien de maximizar el espacio disponible para otras secuencias de comandos de JS. 5MB es bastante espacio ... a menos que cada script JS comience a tratar 5MB como "bastante espacio". – Martijn

Cuestiones relacionadas