Google chrome 在IndexedDB和文件系统中本地存储chrome应用程序数据的最佳选择是什么?

Google chrome 在IndexedDB和文件系统中本地存储chrome应用程序数据的最佳选择是什么?,google-chrome,google-chrome-app,indexeddb,html5-filesystem,Google Chrome,Google Chrome App,Indexeddb,Html5 Filesystem,我正在尝试开发一个chrome应用程序来存储数据。数据存储将是无限的。我有两个选择来使用索引数据库和文件系统 在上述两种方法中,哪一种是数据存储的好选择?使用文件系统API在用户PC中存储数据有点问题,因为未经用户批准,您无法执行此操作。因此,我的建议是在清单中使用具有以下权限的indexedDB: "permissions": [ "unlimitedStorage", "storage" ] 基本上,你可以在indexedDB中存储任何东西,唯一的问题是它有点慢,API很混乱,

我正在尝试开发一个chrome应用程序来存储数据。数据存储将是无限的。我有两个选择来使用索引数据库和文件系统


在上述两种方法中,哪一种是数据存储的好选择?使用文件系统API在用户PC中存储数据有点问题,因为未经用户批准,您无法执行此操作。因此,我的建议是在清单中使用具有以下权限的indexedDB:

"permissions": [
   "unlimitedStorage",
   "storage"
]
基本上,你可以在indexedDB中存储任何东西,唯一的问题是它有点慢,API很混乱,但是有很多教程。我自己使用它作为离线第一个应用程序。这有点难用,但却是存储持久数据的可靠方法

另一件值得注意的事情是,如果你想存储键值对,比如你的应用的设置,你可以使用chrome存储API,它是基本的本地存储API,但chrome应用除外


有用阅读:

什么类型的数据?还有一些数据,就像任何Web应用程序一般使用的数据一样,如表中的记录、所需的多媒体。在回答您提到的索引数据库很慢的问题时。是不是很慢才被注意到。indexdb可以存储图像和多媒体吗?你能为chrome应用程序的索引db推荐什么最好的包装器吗?它不是特别慢,但很明显。例如,我创建了一个应用程序。在应用程序启动期间,服务器向客户端trought websocket发送了一个80 mb大小的对象数组,耗时4秒,然后我将该数组存储到indexeddb,耗时6秒。其实没那么糟。只有当您想存储大量数据,但可以使用webworker来完成此任务时,才可以注意到这一点。请参阅基准测试:是的,您可以将图像和媒体存储为blob。这方面有很多教程。当我开始使用indexedDB时,我正在寻找一个好的包装器,但我没有找到任何适合我需要的,所以我自己创建了一个。创建函数来存储数据、存储大容量数据、截断对象存储等等都不是什么大问题。添加一些错误处理,您就完成了,代码不超过500行。但是外面有很多包装纸,甚至是好的。我的主要问题是这些项目不再需要维护,我不喜欢4年前没有维护的代码。