【问题标题】:Prevent IndexedDb from growing exponentially in chrome防止 IndexedDb 在 chrome 中呈指数增长
【发布时间】:2014-01-03 16:50:54
【问题描述】:

我想试试 IndexedDB,看看它是否适合我的目的。 在进行一些测试时,我注意到它的增长率似乎随着每次插入呈指数增长。

(目前仅在 google chrome 版本 31.0.1650.63(Offizieller Build 238485)m / Windows 中测试)

我的完整代码:http://pastebin.com/15WK96FY

基本上我保存一个包含 2.6 个 mio 字符的字符串。 检查window.webkitStorageInfo.queryUsageAndQuota 我发现它消耗了约 7.8MB,这意味着每个使用的字符约 3 个字节。

但是,如果我将字符串保存 10 次,我会得到约 167MB 的使用量,这意味着每个使用的字符约 6.4 个字节。

通过保存它 50 次,我的千兆字节数很高,我的电脑开始死机。

我做错了什么还是有办法解决这种行为?

【问题讨论】:

标签: javascript google-chrome indexeddb


【解决方案1】:

你的测试是错误的。不应将字段 test2 编入索引。

【讨论】:

  • 谢谢!我花了一段时间才弄清楚你的意思。以为我会定义在保存对象时将存储哪些值,就像 mysql 中的列一样。事实证明它无论如何都可以保存。另一件很有帮助的事情是,等到一个事务完成后再开始下一个事务。 (现在我正在一次创建所有事务,它们仅在循环 [in idle] 之后执行)
  • 对。每个范围只有一个 write tx。你应该在一个事务中发出多个请求,看看它们有多快。
猜你喜欢
  • 2020-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多