indexedDB会耗尽空间吗?

pfo*_*oti 1 google-chrome blink indexeddb localforage

我正在将localforage与indexedDB驱动程序配合使用。我的indexedDB存储空间很大,但给我的印象是indexedDB从未真正用完空间,它只是使旧内容过期。

但是,在挂起60秒后,对indexedDB的大量请求失败,并显示错误:“ DOMException:事务由于不活动而超时。”。

如果我只是做一个简单的

function testWrite(n) {
  localforage.setItem(`test:${n}`, Math.random().toString(16).slice(2))
  .then((v) => console.log(x))
  .catch((err)=>console.log(err))
}
for (var x = 0; x < 10; x++) {
  testWrite(x)
}
Run Code Online (Sandbox Code Playgroud)

在指向我的Web应用的隐身窗口中,它可以正常工作。如果在非隐身窗口中执行相同的操作,则会发生超时。重要的是:即使将循环大小增加到某个较大的值(即使是在新的会话中),也会遇到相同的超时问题。因此,感觉有些地方有些不正确。

Kel*_*vin 5

单个数据库项目的大小没有任何限制,但是在某些情况下,每个IndexedDB数据库的总大小都有限制。此限制(以及用户界面声明该限制的方式)因浏览器而异:https : //www.raymondcamden.com/2015/04/17/indexeddb-and-limits/