【问题标题】:Maximum item size in IndexedDBIndexedDB 中的最大项目大小
【发布时间】:2011-08-07 06:16:30
【问题描述】:

我正在开发一个使用 HTML5 的 IndexedDB(类似于键值数据库)功能的简单 Web 实用程序。

我一直在寻找,但我不知道:我可以在一个项目中存储的最大尺寸是多少?

【问题讨论】:

    标签: javascript html indexeddb


    【解决方案1】:

    我认为单个项目的大小没有特定限制,只有全局限制。

    自从最初编写此答案以来,有关全局限制的规则已更改。 up-to-date docs are on MDN - 根据可用磁盘空间,“组”限制(对于给定域,包括其所有子域)范围可以从 10 MB 到 2 GB。


    较旧的答案 - 随着 Firefox 38 (2015-05) 的发布而过时,removed dom.indexedDB.warningQuota:

    来自mbrubeck at support.mozilla.com 的回答(我已将他提供的链接替换为永久版本):

    默认情况下,在 Firefox 4 中,一个站点最多可以使用 50MB 的 IndexedDB 存储空间。如果尝试使用超过 50MB,Firefox 会请求用户许可:http://mxr.mozilla.org/mozilla-central/source/modules/libpref/src/init/all.js#101

    在用于移动设备(Google Android 和 Nokia Maemo)的 Firefox 中,如果网站尝试使用超过 5MB 的空间,Firefox 会请求许可:http://mxr.mozilla.org/mozilla-central/source/mobile/app/mobile.js#571 [...]

    如果用户授予站点超过 50 MB IndexedDB 配额的权限,那么据我所知,Firefox 不会施加更多限制。 IndexedDB 数据库大小的唯一限制是用户的磁盘空间和操作系统。

    localStorage 配额为 5000KB,网站无法请求浏览器允许在 localStorage 中存储超过该数量。

    【讨论】:

      【解决方案2】:

      添加到 Nickolay 的答案,这里是 Chrome 和 IE 中 IndexedDB 容量的描述

      • Chrome(Desktop):默认情况下,对于 Web 应用,chrome 在使用 indexedDB API 存储数据时不会提示用户。它使用了共享池的概念,这里是完整的描述-Chrome HTML5 Offline Storage

      • Chrome for Android:找不到任何官方链接来说明配额。但根据我的经验,我在没有任何提示的情况下保存了 300 MB 的数据。很可能与桌面 Chrome 的行为相同。

      • Internet Explorer 10:默认情况下,系统会提示用户提供 10 MB 的存储空间。默认情况下,每个域 250 MB 是硬限制,但用户可以配置自己的限制,直到 1 GB。

      【讨论】:

      【解决方案3】:

      对于使用现代浏览器的普通网站,您无需担心 indexedDB 中的可用存储空间,因为它要高得多。

      最大存储大小取决于两个因素,浏览器磁盘空间

      因此,Chrome 和大多数基于 Chromium 的浏览器允许使用 80% 的磁盘空间,其中 75% 可供每个来源使用。这意味着, 如果您有 100GB 的磁盘空间,则可以使用 80GB 将数据存储在 indexedDB 中,其中 60GB 可以供单源使用。

      此外,Firefox 允许每个源存储 2GB 数据,Safari 允许每个源存储 1GB。

      您可以通过-检查可用空间和已用空间的总空间-

      const quota = await navigator.storage.estimate();
      const totalSpace = quota.quota;
      const usedSpace = quota.usage;
      

      【讨论】:

      • 条目这么多的情况下,有没有对查找速度的估计?是否会出现预期的延迟等待?
      猜你喜欢
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 2015-01-29
      相关资源
      最近更新 更多