Electron中数据持久化的选择

Electron中数据持久化的选择

真正将Electron投入生产,绝大多数的应用还是需要持久化一些数据的。目前持久化使用较多的主要有三种方式:本地文件、SQLite和IndexedDB。

文件存储

本地文件适合用来存储一些配置相关的信息,常见的可用格式比如JSON、INI、Yaml、Toml等。

IndexedDB

IndexedDB,我觉得更适合用于调用服务端接口的缓存,或者极少在主线程使用的数据,否则来回传递感觉性能可能不太高(未经测试,但是结论应该不会有错)。

有朋友之前问到怎么在主线程中使用IndexedDB,直接使用是不可能的哈,毕竟那是暴露在浏览器中的,并没有相关的Node实现。不过,其实IndexedDB在Chrome中也是使用SQLite实现的,如果需要保持同构,只需要实现一个简单的数据库中间层来隐藏底层的API或者按照IndexedDB的API来封装一下SQLite的调用即可。

SQLite

SQLite作为一个嵌入式数据库,可以用于存储常用于主线程的结构化数据。

其他(LocalStorage/SessionStorage)

当然渲染进程还是可以使用LocalStorage这些,使用相对IndexedDB就方便很多,只是有大小限制,适合存储用户级别的个性化缓存数据(主题、语言等),其他类型的数据就不是很推荐了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注