gpt4 book ai didi

javascript - localStorage 存储大尺寸数据

转载 作者:数据小太阳 更新时间:2023-10-29 05:43:28 26 4
gpt4 key购买 nike

根据 http://arty.name/localstorage.html,我想使用 localStorage 存储大量数据(如 800GB)而且我使用的是 Firefox,我更改了 localStorage 大小和缓存大小。所以大小不是问题。但是,我写了一些 jquery,如下所示:

 $("a[href]").each(function(){
$(this).click(function(event){
localStorage.test += "somenewinformation";
...

如果这个localStorage.test已经有400GB这样的大量数据,那么存储信息的步骤会非常慢。当我单击一个链接时,jquery 会等我完成将新信息附加到 localStorage.test 还是它会转到下一页并且 localStorage.test 中的信息将全部丢失或 localStorage.test 将保持旧状态值(value)?我不明白的是是否会生成一个新线程来在后台进行此存储,并且在中间关闭浏览器是否会影响它。

对于困惑的描述,我们深表歉意,在此先感谢您!

最佳答案

你不能!通常限制为 5 MB。

Opera 等一些浏览器允许您调整大小,但这完全取决于浏览器并且是用户启动的操作,而不是可编程的。

即使您还记得 localStorage 只能存储字符串,所以其他任何内容都需要先进行字符串化。再加上这是一个键值存储阵列,您最终会遇到非常糟糕的性能。

如果您需要大存储容量,请改用 File API。这是为处理大文件 (Blob) 而设计的,您可以将任何内容存储为 Blob。

800 Gb 是一个大容量,File API 只能与文件系统一样快(充其量,更可能慢一点,因为它是沙盒,即不是纯文件系统)。

有关文件系统 API 的更多信息(注意:自 4/2014 起停止):
http://www.w3.org/TR/file-system-api/

教程:
http://www.html5rocks.com/en/tutorials/file/dndfiles/

Blob :
https://developer.mozilla.org/en-US/docs/Web/API/Blob

更新 由于文件系统 API 已停用,因此基本上只剩下两个选项(除了将数据存储到服务器之外):

  • Indexed Database API 又名 Indexed DB(推荐)
  • Web SQL(已弃用但仍受 Safari 等浏览器支持)

此外,这些最初的大小受到浏览器的限制。可以要求用户接受更大的报价。

在此处查看有关此 API 的更多详细信息:
http://www.w3.org/TR/IndexedDB/

关于javascript - localStorage 存储大尺寸数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17255786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com