PouchDB:可随时同步的开源JavaScript数据库
2016-02-03 13:14
561 查看
PouchDB是一个开源的JavaScript数据库,可以运行在浏览器中。PouchDB的数据存储、处理方式受到了Apache CouchDB的启发(CouchDB是一个面向文档的数据库,可通过JavaScript以MapReduce的方式对数据进行查询和索引,同时还提供增量复制的双向冲突检测和解决方案)。
PouchDB项目的目标是帮助开发者构建线上和线下都能很好地使用的Web应用程序:
在应用程序离线的时候,可以将用户数据保存在本地;
当恢复在线状态时,通过CouchDB和其他相兼容的服务器来同步这些数据。
这样,无论用户在什么地方、使用什么设备登录,都可以看到一致的数据。
就像离线版的Gmail或印象笔记等应用,你可以在任何地方、任何时候编辑内容,无论线上或线下,而在下次登录时这些内容会自动同步,并且在同步的时候可以保证之前在不同设备上保存的离线内容不发生冲突。
示例代码如下:
Javascript代码
var db = new PouchDB('dbname');
db.put({
_id: 'dave@gmail.com',
name: 'David',
age: 66
});
db.changes({
onChange: function() {
console.log('Ch-Ch-Changes');
}
});
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
PouchDB项目的目标是帮助开发者构建线上和线下都能很好地使用的Web应用程序:
在应用程序离线的时候,可以将用户数据保存在本地;
当恢复在线状态时,通过CouchDB和其他相兼容的服务器来同步这些数据。
这样,无论用户在什么地方、使用什么设备登录,都可以看到一致的数据。
就像离线版的Gmail或印象笔记等应用,你可以在任何地方、任何时候编辑内容,无论线上或线下,而在下次登录时这些内容会自动同步,并且在同步的时候可以保证之前在不同设备上保存的离线内容不发生冲突。
示例代码如下:
Javascript代码
var db = new PouchDB('dbname');
db.put({
_id: 'dave@gmail.com',
name: 'David',
age: 66
});
db.changes({
onChange: function() {
console.log('Ch-Ch-Changes');
}
});
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
相关文章推荐
- ZeroClipboard js复制文本(兼容全部浏览器)
- JS实现无限分页加载——原理图解
- JS修炼之道》—— 读后总结
- 关于jsonp的理解
- JavaScript排序算法——选择排序
- JavaScript排序算法——希尔排序
- JavaScript排序算法——冒泡排序
- JavaScript排序算法——快速排序
- JavaScript排序算法——归并排序
- JavaScript排序算法——堆排序
- JavaScript排序算法——插入排序
- JavaScript跨域总结与解决办法
- 表单元素input事件兼容解决方案
- js类封装
- js验证手机号邮箱
- JSP 指令
- javascript
- javascript DIV跟随鼠标移动
- JavaScript编程艺术之Function
- JSON详解