【问题标题】:Indexeddb maximum size limit in chromium铬中的 Indexeddb 最大大小限制
【发布时间】:2013-07-01 11:33:18
【问题描述】:

我正在考虑构建一个 LOB appjs 应用程序,我想为其使用 IndexedDB 进行存储。我有几个关于 appjs 中的 IndexedDB 的问题。

  1. 最大存储限制是多少,有什么方法可以配置 appjs的chromium浏览器增加限制?

  2. 如果 IndexedDB 中的数据超出用户的 RAM,我会遇到问题吗?由于它只是一个存储对象图的键值存储,我想知道它是否会将整个数据加载到 RAM 中。

谢谢。

【问题讨论】:

    标签: indexeddb appjs


    【解决方案1】:

    如果您在 AppJS 中构建应用程序,那么您可以跳过 indexedDB 并使用 nodejs 库来访问完整的数据库。因此,例如 https://npmjs.org/package/node-sqlite-purejshttps://npmjs.org/package/sqlite3 将为您提供包含事务等的完整关系数据库。

    如果你想走 nosql 路线,那么 nodejs 有很多可用的 nosql 数据库。要在 app.js 代码中将数据库连接到您的应用程序,您需要在窗口中添加一个函数,该函数可以是您的数据库 api,例如它可以接受要运行的查询名称甚至 sql,然后传入一个回调函数数据运行后调用。 app.js添加到window对象的函数就可以查询数据库,取回记录,然后调用回调函数,返回结果。

    【讨论】:

    • 我尝试了 sqlite3,但我无法让它与 appjs 一起使用,它退出并出现此错误 data\node_modules\sqlite3\lib\node_sqlite3.node is not a function。我让 node-sqlite-purejs 库可以工作,但没有 ORM 支持它,我想要一个更高级别的接口。
    【解决方案2】:

    关于存储限制我不能说,但理论上 indexeddb 的大小仅限于您的硬盘大小。但在大多数情况下,都会设置一个限制;)。

    据我所知,只有您将处理的数据会加载到内存中。 JS 有它自己的垃圾收集器,所以它应该负责 RAM 的使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-07
      • 1970-01-01
      • 1970-01-01
      • 2016-05-04
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多