前端数据存储,你还在用localStorage?

JavaScript/前端
614
0
0
2022-05-28

前端数据存储,你还在用localStorage?

前端的数据存储方式,你除了用过 cookie、localStorage 和 sessionStorage 外,还有用过其它的存储方式么?接下来小编带你一起过一下,目前比较流行的一些开源的前端存储方案。

AlaSQL

AlaSQL 是一个用于 JavaScript 的开源的 SQL 数据库,能够处理传统关系表和嵌套的 JSON 数据 (NoSQL)。此外它聚焦于关系数据的查询速度和数据源的灵活性,能在浏览器、Node.js 和 Cordova 的环境中使用。

该库的设计目的是:

  • 支持对重的客户端 BI 和 ERP 应用程序,内存中 SQL 数据进行快速处理。
  • 简单的 ETL (Extract-Transform-Load) 即数据仓库技术,支持对多种数据格式的数据执行导入、操作、导出。
  • 支持所有主流的浏览器、Node.js 应用和移动端应用程序。

目前 Github 统计信息:

前端数据存储,你还在用localStorage?

前端数据存储,你还在用localStorage?

Dexie.js

Dexie.js 是 IndexedDB 的包装库,它提供了一套经过精心设计的 API,强大的错误处理,较强的可扩展性,此外它能够跟踪数据变化,支持 KeyRange (搜索不区分大小写,可设置匹方式和 OR 操作)。

Dexie.js 主要为了解决原生 IndexedDB API 中存在的三个主要问题:

  • 异常错误处理。
  • 较弱的查询功能。
  • 代码复杂性。

目前 Github 统计信息:

前端数据存储,你还在用localStorage?

前端数据存储,你还在用localStorage?

LokiJS

LokiJS 是一个使用 JavaScript 实现,面向文档的数据库。其目的是将 JavaScript 对象以 NoSQL 方式存储为文档,并提供类似的数据检索机制。它可以运行在 Cordova/PhoneGap、node-webkit、nativescript 和浏览器的环境中。

LokiJS 适用于以下场景:

  • 客户端内存数据库,如会话信息存储。
  • 注重性能的 Cordova/PhoneGap 应用程序。
  • node-webkit 桌面应用。
  • nativescript 移动应用。

目前 Github 统计信息:

前端数据存储,你还在用localStorage?

前端数据存储,你还在用localStorage?

NeDB

NeDB 是一个 JavaScript 数据库,能够运行在 Node.js、nw.js、Electron 和浏览器环境。它是使用纯的 JavaScript 实现,不依赖其它库,提供的 API 是 MongoDB API 的子集,重要的是它的速度非常快:

  • 插入:10,680 ops/s。
  • 查找:43,290 ops/s。
  • 更新:8,000 ops/s。
  • 删除:11,750 ops/s。

ops (operation per second) 即表示每秒操作的次数。

目前 Github 统计信息:

前端数据存储,你还在用localStorage?

前端数据存储,你还在用localStorage?

PouchDB

PouchDB 是受 Apache CouchDB 启发为 Web 设计的一款占用空间少的数据库。PouchDB 项目的目标是帮助开发者构建线上和线下都能很好地使用的 Web 应用程序,在应用程序离线的时候,可以将用户数据保存在本地,当恢复在线状态时,通过 CouchDB 和其它相兼容的服务器来同步这些数据。

PouchDB 的主要特点:

  • 轻量级,开启 gzipped 后,仅 46KB。
  • 跨浏览器,支持 Firefox, Chrome, Opera, Safari, IE。
  • 支持 Node.js 和 Cordova

目前 Github 统计信息:

前端数据存储,你还在用localStorage?

前端数据存储,你还在用localStorage?

localForage

localForage 是一个快速简单的 JavaScript 存储库。 它通过使用类似于 localStorage 的简单 API 来使用异步存储 (IndexedDB 或 WebSQL) ,进而改善您的 Web 应用程序的离线体验。

对于不支持 IndexedDB 或 WebSQL 的浏览器,localForage 会使用 localStorage 进行数据存储。

localForage 主要支持的平台:

  • IE 10 (IE 8+ 使用 localStorage)
  • Opera 15 (Opera 10.5+ 使用 localStorage)
  • Safari 3.1 (包括 Mobile Safari)
  • Chrome 23、Chrome for Android 32
  • Phonegap/Apache Cordova 1.2.0

目前 Github 统计信息:

前端数据存储,你还在用localStorage?

前端数据存储,你还在用localStorage?

篇幅有限仅介绍了部分方案,此外还有 lowdb (Local JSON Database)、Lovefield (Relational Database) 和 RxDB (Reactive Database) 等,如果你有更好的存储方案,欢迎给小编留言。