¿Cuál es el límite flexible (al que el usuario debe otorgar permiso para exceder)? Cuál es el límite estricto (máximo permitido).¿Cuáles son los límites de almacenamiento para la base de datos indexada en el navegador Chrome de Google?
Respuesta
Chrome tiene un límite de 5mb antes de que llegue a QUOTA_ERR
. Here's a MDN reference a ese hecho.
El spec menciona un QuotaExceededError
pero no parece decir nada sobre cuándo se debe lanzar.
QuotaExceededError en la operación porque no había suficiente espacio de almacenamiento restante , o se alcanzó la cuota de almacenamiento y el usuario se negó a dar más espacio a la base de datos.
No he oído hablar de un límite estricto y no he llegado a uno en mi propio desarrollo. El rendimiento debería ir bastante al sur antes de alcanzarlo.
Esta información está desactualizada. No hay límite de 5mb relacionado con IndexedDB en Chrome. – dgrogan
Eso es parcialmente cierto. Hay un límite de 50 mb en la mayoría de los navegadores Chrome, pero un límite de 5 mb en las versiones móviles de Chrome. – buley
¿Qué te hace pensar eso? Hasta donde yo sé, ninguna de esas cosas es verdadera. (Escribí el código de cumplimiento de cuotas de Chrome IndexedDB.) Acabo de jugar con http://demo.agektmr.com/storage/ en mi teléfono para asegurarme de que seguía funcionando y no había un límite de 5 MB allí que pudiera ver. – dgrogan
La regla de oro es 6% (edita 2015-jul: era 10%) del espacio disponible en el disco duro del usuario, menos si su origen está usando websql, appcache o la API del sistema de archivos. El documento de MDN mencionando 5mb estaba desactualizado y se ha actualizado. Los detalles morbosos sobre la política actual está aquí: https://developer.chrome.com/apps/offline_storage
Nota: algunas sutilezas molestos
- No hay almacenamiento persistente de datos indexada, solamente la materia en el enlace anterior se aplica sobre TEMPORAL.
- Una vez que su origen agota su parte del grupo,
transacciones indexeddb abortarán sin ninguna indicación real por qué. A partir de ahora, la única forma de determinar la falta de cuota es utilizar queryUsageAndQuota para verificar cuánto espacio queda. Esperemos que una versión futura de Chrome pronto llene correctamente IDBTransaction.error en estos casos.Editar: Chrome 26 ahora rellena correctamente IDBTransaction.error con QuotaExceededError. - Actualmente no hay API para solicitar más espacio de almacenamiento para indexeddb.
Lo siento, estoy un poco confundido por esto. En un 10% del disco duro del usuario, ¿quiere decir que si el usuario tuviera un disco duro de 3TB, podría crear un IndexedDB de 300GB? Y después de eso, ¿arrojaría un error? – benshope
Eso es correcto. Pregunta honesta: ¿cuál es la otra interpretación que considera? – dgrogan
No hay otra teoría que me parezca mucho espacio para que ocupe un navegador. Gracias: D – benshope
El límite mínimo o mínimo es de 5MB- el navegador solicitará permiso para almacenar los datos. El almacenamiento máximo es el límite de su disco duro, ya que todos los datos se almacenan localmente en el disco de su máquina. Básicamente, si tiene 20 GB de almacenamiento gratuito, puede usar todo el almacenamiento de IndexedDB.
verificación de cuotas con el siguiente código en cromo> Herramientas de desarrollo (F12)> consola
// Request storage usage and capacity left
window.webkitStorageInfo.queryUsageAndQuota(webkitStorageInfo.TEMPORARY,
//the type can be either TEMPORARY or PERSISTENT
function(used, remaining) {
console.log("Used quota: " + used + ", remaining quota: " + remaining);
}, function(e) {
console.log('Error', e);
});
* Advertencia: 'window.webkitStorageInfo' está en desuso. Utilice en su lugar 'navigator.webkitTemporaryStorage' o' navigator.webkitPersistentStorage'. * – cregox
Consulte http://stackoverflow.com/a/29662958/2441511 para conocer el estándar actual, a partir de abril de 2015. – user2441511
IndexedDB se da la memoria del almacenamiento 'temporal' en Google Chrome. El almacenamiento temporal en Chrome tiene una cuota predeterminada del 50% del espacio disponible en el disco, el 20% de los cuales está disponible para su aplicación fuera de línea. Solicitar más cuota contra el almacenamiento temporal no hace nada.
base en lo anterior, las respuestas a sus preguntas serían:
- IndexedDB (en el navegador Chrome) pueden utilizar el almacenamiento sin que lo solicite.(sabiendo que está asignado desde el almacenamiento temporal)
- Solicitar más del límite de almacenamiento TEMPORAL (20% del 50% disponible, descrito anteriormente) no asignará nada.
usted podría utilizar la herramienta Browser Storage Abuser (citado en this HTML5Rocks artículo que ha documentado los resultados para diferentes navegadores) para determinar almacenamiento temporal disponible en la Chrome está ejecutando.
No tengo suficiente reputación de SO para publicar más enlaces, pero el artículo HTML5Rocks anterior sobre investigación de cuotas tiene suficientes detalles para ayudarlo a identificar el tipo de almacenamiento apropiado (TEMPORAL o PERSISTENTE) y el mecanismo de almacenamiento apropiado (si no necesariamente se redujo a cero en IndexedDB) como puede ser adecuado para su aplicación.
- 1. Almacenamiento interno de Android: ¿cuáles son los límites?
- 2. ¿Cuáles son los límites de TDD?
- 3. SQLite: ¿cuáles son los límites prácticos?
- 4. ¿Cuáles son los límites de ruby en los rieles?
- 5. ¿Cuáles son los límites de compilar dardos para javascript?
- 6. ¿Cuáles son los límites de la inferencia de tipo?
- 7. ¿Cuáles son los límites de recursión js para Firefox, Chrome, Safari, IE, etc.?
- 8. ¿Cuáles son los beneficios de no usar cPickle para crear un almacenamiento persistente para los datos?
- 9. Almacenamiento de contraseñas en Google Chrome Extension
- 10. ¿Cuáles son los límites técnicos de phoneGap/Cordova?
- 11. Cifrado de datos para almacenamiento en la base de datos
- 12. ¿Cuáles son los tamaños de columna de base de datos recomendados para los nombres?
- 13. Deshabilitar el almacenamiento en caché de JavaScript en Google Chrome
- 14. ¿Cuáles son los límites de usar sockets para la comunicación entre procesos?
- 15. Integre el navegador Google Chrome en eclipse
- 16. ¿Cuáles son algunas buenas y rápidas opciones de almacenamiento persistentes para los datos clave-> valor?
- 17. Almacenamiento de información de OpenID en la base de datos
- 18. Ubicación recomendada para el almacenamiento de documentos, en la base de datos o en otro lugar?
- 19. Limitaciones de almacenamiento Web SQL en Chrome y Android?
- 20. ¿Cuáles son los beneficios de usar view en la base de datos?
- 21. ¿Cuáles son los pros y los contras de almacenar archivos en una base de datos?
- 22. Se recomienda utilizar la Base de datos web SQL para el almacenamiento en el lado del cliente
- 23. Transformando la base de datos relacional OLTP en el modelo de almacenamiento de datos
- 24. Detección de extensiones del navegador Google Chrome
- 25. PHP: $ _SESSION - ¿Cuáles son los pros y los contras de almacenamiento de datos utilizados temporalmente en la variable de $ _SESSION
- 26. Almacenamiento en caché de Chrome como un navegador loco
- 27. Base de datos para almacenamiento local
- 28. Google Chrome auditoría sobre el almacenamiento en caché
- 29. Rieles: almacenamiento de datos cifrados en la base de datos
- 30. Los mapas de Google en el sitio web para el navegador del teléfono son demasiado pequeños
https://developers.google.com/chrome/whitepapers/storage puede ser útil. – dumbmatter
Avísame si necesito agregar algo a mi respuesta – buley