Repolode
pubkey

pubkey/rxdb

面向 JavaScript 应用的本地优先、响应式 NoSQL 数据库,可运行于浏览器、Node.js、React Native 等环境。

可替代:Firebase Realtime DatabaseFirestore

Star
23,411
Fork
1,182
未关闭 Issue
19
最近提交
4小时前

这是什么?

RxDB 是一个面向 JavaScript 应用的 NoSQL 数据库,采用本地优先的设计,并支持订阅数据变化。查询既可以一次性执行,也可以持续监听,查询结果或单个字段变化时界面会自动更新。

存储层可以替换。同一套数据库代码可以运行在 LocalStorage、IndexedDB、OPFS、SQLite、内存存储或 WebWorker 等底层之上,因此可用于浏览器、Node.js、React Native、Capacitor、Flutter 和 Electron。

在数据同步方面,RxDB 提供复制引擎,通过你实现的三个 HTTP 接口与现有后端对接,并提供 GraphQL、CouchDB、WebSocket、WebRTC、Supabase、Firestore、NATS、Google Drive 等插件。此外还支持 schema 校验、加密、数据迁移、冲突处理、附件和 CRDT。

核心功能

  • 01响应式查询,结果或单个字段变化时自动推送更新。
  • 02可替换的存储引擎,包括 IndexedDB、OPFS、SQLite 和内存存储。
  • 03通过自有 HTTP 接口或 GraphQL、CouchDB、Supabase 等插件进行数据同步。
  • 04支持 schema 校验、加密、数据迁移和冲突处理。
  • 05可运行于浏览器、Node.js、React Native、Capacitor、Flutter 和 Electron。

适用场景

  • 开发支持离线使用或实时更新界面的应用,并将数据保存在客户端。
  • 在不绑定特定云数据库的前提下,为现有后端增加数据同步。
  • 在 Web、移动端和桌面端的 JavaScript 项目之间复用同一套数据层。
  • 实现多人协作或需要实时刷新视图的功能。

快速上手

  1. 1

    通过 npm 安装 RxDB 和 RxJS

    npm install rxdb rxjs --save
  2. 2

    创建数据库和集合并插入一条文档

  3. 3

    一次性查询数据或订阅实时查询结果

使用前须知

  • 快速入门示例使用 LocalStorage 存储,其他运行环境需要不同的存储插件。
  • 部分复制插件和高级功能属于付费高级插件,需要购买。

标签

常见问题

rxdb 是什么?
面向 JavaScript 应用的本地优先、响应式 NoSQL 数据库,可运行于浏览器、Node.js、React Native 等环境。 RxDB 是一个面向 JavaScript 应用的 NoSQL 数据库,采用本地优先的设计,并支持订阅数据变化。查询既可以一次性执行,也可以持续监听,查询结果或单个字段变化时界面会自动更新。
rxdb 可以免费使用吗?用的什么许可证?
rxdb 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
rxdb 还在维护吗?
活跃维护中。rxdb 最近一次提交是在 2026年10月21日。
rxdb 适合用来做什么?
开发支持离线使用或实时更新界面的应用,并将数据保存在客户端。 在不绑定特定云数据库的前提下,为现有后端增加数据同步。 在 Web、移动端和桌面端的 JavaScript 项目之间复用同一套数据层。 实现多人协作或需要实时刷新视图的功能。
rxdb 怎么安装和运行?
通过 npm 安装 RxDB 和 RxJS: npm install rxdb rxjs --save 创建数据库和集合并插入一条文档 一次性查询数据或订阅实时查询结果
在哪里获取 rxdb?
源代码和安装说明在 GitHub 上:https://github.com/pubkey/rxdb

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目