请问:在看到PouchDB adapter的时候:
1、这里的:IndexedDB、WebSQL、HTTP、LevelDB
都是adapter吗?
2、IndexedDB、LevelDB
都不是实际的数据库是吗?如果不是实际数据库是adapter,我们在哪里可以找到这个adapter呢(GitHub有开源项目吗)?
请问:在看到PouchDB adapter的时候:
1、这里的:IndexedDB、WebSQL、HTTP、LevelDB
都是adapter吗?
2、IndexedDB、LevelDB
都不是实际的数据库是吗?如果不是实际数据库是adapter,我们在哪里可以找到这个adapter呢(GitHub有开源项目吗)?
IndexedDB、WebSQL、HTTP、LevelDB
都是adapter吗?
IndexedDB
和 WebSQL
是 PouchDB 支持的浏览器端的存储适配器(adapters)。IndexedDB
是现代浏览器中普遍支持的底层存储机制,而 WebSQL
虽然已经被 W3C 弃用,但一些旧版浏览器可能还支持它。PouchDB 通过这些适配器可以在浏览器中实现离线存储。HTTP
适配器允许 PouchDB 与远程的 CouchDB 或其他 PouchDB 实例进行同步。它不是一个存储适配器,而是一个同步适配器,用于数据在不同实例之间的传输。LevelDB
通常是 Node.js 环境下的一个存储引擎,PouchDB 可以通过相应的适配器(如 leveldown
)在 Node.js 中使用 LevelDB 作为其后端存储。因此,虽然 LevelDB
本身不是 PouchDB 的一个直接适配器,但它是 PouchDB 在 Node.js 环境中常用的一种存储后端。综上所述,IndexedDB
和 WebSQL
是存储适配器,HTTP
是同步适配器,而 LevelDB
可以作为 PouchDB 在特定环境(如 Node.js)下的存储后端,通过相应的适配器来使用。
IndexedDB、LevelDB
都不是实际的数据库是吗?
这是一个误解。IndexedDB
和 LevelDB
都是实际的数据库存储引擎。
IndexedDB
是浏览器提供的一种低级 API,用于客户端存储大量结构化数据,包括文件/二进制对象。它是一种在浏览器中运行的数据库,支持事务处理和异步 API。LevelDB
是一个高性能的、基于磁盘的存储引擎,它支持键值对存储,并且提供了有序的数据映射。它通常用于需要高性能和持久存储的应用程序中。在哪里可以找到这些 adapter?
pouchdb-adapter-indexeddb
、pouchdb-adapter-websql
、pouchdb-adapter-http
(注意:HTTP 不是一个存储适配器,但 PouchDB 提供了用于同步的 HTTP 适配器)以及针对 Node.js 环境的 leveldown
(与 LevelDB 交互)等包。综上所述,IndexedDB
和 LevelDB
是实际的数据库存储引擎,而 IndexedDB
和 WebSQL
是 PouchDB 在浏览器端支持的存储适配器,HTTP
是同步适配器,你可以通过 npm 或 GitHub 找到这些适配器的相关信息和源代码。
6 回答5.4k 阅读✓ 已解决
9 回答9.6k 阅读
15 回答7.1k 阅读
3 回答10.6k 阅读✓ 已解决
4 回答7.5k 阅读
5 回答8.4k 阅读
2 回答10.5k 阅读✓ 已解决
所谓的 adapter (适配器) 其实就是一个设计理念或者规范, 他这个是抽象的一层, 你看 WebSQL 他底层存储是支持 WebSQL 、SQLLite Plugin 等等,他把这几个都抽象成一个 WebSQL 适配器,可以统一接口进行操作