PouchDB:可随时同步的开源JavaScript数据库

PouchDB是一个开源的JavaScript数据库,可以运行在浏览器中。PouchDB的数据存储、处理方式受到了Apache CouchDB的启发(CouchDB是一个面向文档的数据库,可通过JavaScript以MapReduce的方式对数据进行查询和索引,同时还提供增量复制的双向冲突检测和解决方案)。

PouchDB项目的目标是帮助开发者构建线上和线下都能很好地使用的Web应用程序

  • 在应用程序离线的时候,可以将用户数据保存在本地;
  • 当恢复在线状态时,通过CouchDB和其他相兼容的服务器来同步这些数据。

这样,无论用户在什么地方、使用什么设备登录,都可以看到一致的数据。

就像离线版的Gmail或印象笔记等应用,你可以在任何地方、任何时候编辑内容,无论线上或线下,而在下次登录时这些内容会自动同步,并且在同步的时候可以保证之前在不同设备上保存的离线内容不发生冲突。

示例代码如下:

Javascript代码

  1. var db = new PouchDB(‘dbname‘);
  2. db.put({
  3. _id: ‘[email protected]‘,
  4. name: ‘David‘,
  5. age: 66
  6. });
  7. db.changes({
  8. onChange: function() {
  9. console.log(‘Ch-Ch-Changes‘);
  10. }
  11. });
  12. db.replicate.to(‘http://example.com/mydb‘);

PouchDB基于Apache 2.0开源协议,代码托管在GitHub上:https://github.com/daleharvey/pouchdb

官方网站:http://pouchdb.com/ 
文档:http://pouchdb.com/learn.html

时间: 2024-12-28 06:54:54

PouchDB:可随时同步的开源JavaScript数据库的相关文章

TaffyDB: Javascript数据库教程

TaffyDB: Javascript数据库教程 TaffyDB 是一个免费开源的 JavaScript 库,用于在 Web 上实现一个轻量级的数据访问层,也就是一个简单的数据库. 下面以一表格(table)为例介绍一个简单的应用示例. 将要开展的工作 TaffyDB抽取了JavaScript中的数据操作的"艰难"部分.它提供了对数据集(合)的插入.更新.删除.排序和过滤方法,与SQL的使用的方式大致相同.但如何利用这一优势来构建数据密集型应用程序呢?如何利用TaffyDB以尽量减少和

开源JavaScript框架和库

一.Scriptaculous scriptaculous是在javascript程序库prototype之上构建的,能提供Ajax支持,主要致力于提供高交互性可视化组件,提升Ajax应用层次.在HTML页面中需要引用prototype和scriptaculous程序库. 二.Ember.js Ember.js是一个开源的JavaScript客户端框架,用于开发Web应用程序并使用MVC(模型 - 视图 - 控制器)架构模式.在Ember.js中,路由用作模型,handlebar模板作为视图,控

greenDao android开源框架数据库更新表的问题

最近使用greenDao当android应用升级数据库新增表或者修改表,发现数据被清空的问题 查找资料也没有找到解决方案,最后查看代码发现需要自己修改SQLiteOpenHelper 1.找到greenDao生成的DaoMaster.java文件,里面有SQLiteOpenHelper实现 2.修改DevOpenHelper类里的   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 方法 通过old

分布式数据库火了 开源填补数据库空白

原文地址:http://digi.163.com/17/1114/06/D36B05G6001680N8.html 分布式数据库在今年突然成为热点技术.这背后究竟有哪些环境变化导致了这种技术演进,分布式数据库的优势在哪儿?这种分布式数据库在国内现状又是如何?数据库演进方向正如上世纪七十年代关系型数据库诞生一样,分布式数据库的诞生也是建立在数据越来越多,数据重要性越来越强的背景之下. 数据库演进历程数据库是一个电子化的文件柜,是用来存储电子文件的处所.在云计算.大数据的环境背景下,如何帮助用户更好

强大的开源企业级数据库监控利器Lepus

Lepus监控简单介绍 官方网站:http://www.lepus.cc 开源企业级数据库监控系统 简洁.直观.强大的开源数据库监控系统,MySQL/Oracle/MongoDB/Redis一站式性能监控,让数据库监控更简单 Git仓库地址:https://gitee.com/ruzuojun/Lepus 简单介绍: Lepus(天兔)数据库企业监控系统是一套由专业DBA针对互联网企业开发的一款专业.强大的企业数据库监控管理系统,企业通过Lepus可以对数据库的实时健康和各种性能指标进行全方位的

推荐一个markdown格式转html格式的开源JavaScript库

这个markdown格式转html格式的开源JavaScript库在github上的地址: https://github.com/millerblac... 从markdown 格式转成html源代码格式 新建一个以js结尾的文件,将下列内容粘贴进去: var markdown = require( "markdown" ).markdown; console.log( markdown.toHTML( "Hello *World*!" ) ); 用nodejs执行

开源Nosql数据库Cassandra3.0实战-集群部署与插件使用

简介 Cassandra是一套开源分布式NoSQL数据库系统,Cassandra的主要特点是无中心的设计,其分布式集群由一堆数据库节点共同构成一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取.对于一个Cassandra群集来说,扩展性能是比较简单的事情,只管在群集里面添加节点就可以了. 随着Nosql的火热,Hbase.Mongodb已然成了NoSQL数据库的代表,而Cassandra在国内的使用却不多(

Redis 开源缓存数据库

Redis 是一个开源的,高性能的 key-value 系统,可以用来缓存或存储数据.Redis 数据可以持久化,并且支持多种数据类型:字符串(string),列表 (list),哈希(hash),集合(set)和有序集合(sorted set).能够对关系型数据库起到很好的补充作用.它还提供了多种客户端 Python,Ruby,Erlang,PHP ,可以方便调用. 持久化: Redis 是一种内存数据库(跟 memcache 类似),在数据存取效率方面很优秀,由于内存中的数据时刻面临丢失的危

检查mysql主从同步结构中的从数据库服务器的状态-脚本shell

检查mysql主从同步结构(一主一从)中的从数据库服务器的状态          (ip授权.从服务器和IO是否正常.从mysql进程是否正常) 主mysql: 192.168.1.10 从mysql: 192.168.1.20 [[email protected] ~]# vi check_slave.sh #!/bin/bash master=192.168.1.10 i=1 service mysqld status &>/dev/null while [ true ] do echo