Chrome 扩展的 LocalStorage 与 IndexedDB?

问题描述 投票:0回答:1

我有一个 chrome 扩展,我将所有用户数据和设置保存到 LocalStorage。据我所知,它工作得很好,即使用户清除历史记录和 cookie,LocalStorage 也不会改变。我正在考虑转向 IndexedDB 或其他东西,但我不使用它是否有任何优势?

任何有网络扩展经验的人都可以提供一些信息或其他替代方案吗?我知道 chrome 有 chrome.storage API,但它是异步的,我想即时访问数据。

google-chrome-extension local-storage indexeddb chrome-extension-manifest-v3 web-extension
1个回答
0
投票

TLDR localStorage 是唯一持久的同步存储。

IndexedDB 是异步的,就像

chrome.storage
一样,因此您必须重写当前使用
localStorage
的所有代码,并且如果您的数据相对较小,则不能保证它会变得更快。如果不重新设计整个架构,可能会发生相反的情况。

IndexedDB 对于大数据来说要快得多,因为它可以直接按原样存储 ArrayBuffer 和 Blob。在读取/写入数据时,它也不会阻塞页面的主线程。对于少量数据,localStorage 速度更快。仅当您存储大量数据时,localStorage 的同步性质才会成为问题,因为浏览器必须在创建此来源的任何选项卡或 iframe 之前预加载所有数据,并且仅在低功耗设备(例如手机或带有 HDD 的廉价设备)中(硬盘驱动器)而不是 SSD(固态驱动器)。

IndexedDB 可在 ManifestV3 扩展的服务工作线程(后台脚本)中使用,与

localStorage
不同。

© www.soinside.com 2019 - 2024. All rights reserved.