多个 Pouchdb 不与 couchdb 同步
Multiple Pouchdb doesn't sync with couchdb
我在我的电子应用程序中使用 pouchdb,我的应用程序中有超过 15 个数据库。我的问题是当我将一个或两个数据库同步到 couchdb 时效果很好,但超过 3 个 couchdb 不同步。
我的代码:
var sync = PouchDB.sync('mydb', 'http://localhost:5984/mydb', {
live: true,
retry: true
})
我也尝试过不带live,但它增加了程序的复杂性,但是我想在执行插入、删除、更新操作时手动放置代码。
pouchdb可以看put,update,delete事件吗?
要执行手动同步而不是实时同步
我应该如何实现?
如何正确同步多个数据库?
我选择实时同步和手动同步哪个?
pouchdb 是否适合多数据库同步?
不要使用带实时同步的数据库,而是使用带回调的手动同步
问题:
- 多个 pouchdb 同步发出多个 http 请求,例如:(20 个 pouchdb 同步发出 20 个 http 请求)所以这是个坏主意
- pouchdb live sync 很好,适合一个或两个数据库,如果你进行 10 或 20 个 live pouchdb 同步,它总是会发出 active10 或 20 个 http 请求,所以这是个坏主意,也会阻塞你的前端 dom
- 不要将 manualsync 与 setinterval 一起使用,setinterval 也是个坏主意,但是它会在同步完成之前调用同步
解决方案
- 我们保持单个 http 请求
- 我们在一个一个完成后调用每个数据库
- 我们总是在没有 dom 阻塞的情况下生活,但是 setimeout 让您放松 dom
代码
function sync(){
setTimeout(function() {
var sync = PouchDB.sync('db1', 'http://localhost:5984/db1')
.on('complete', (info) => {
PouchDB.sync('db2', 'http://localhost:5984/db2')
.on('complete', (info) => {
sync()
});
});
},1000)
}
我在我的电子应用程序中使用 pouchdb,我的应用程序中有超过 15 个数据库。我的问题是当我将一个或两个数据库同步到 couchdb 时效果很好,但超过 3 个 couchdb 不同步。
我的代码:
var sync = PouchDB.sync('mydb', 'http://localhost:5984/mydb', {
live: true,
retry: true
})
我也尝试过不带live,但它增加了程序的复杂性,但是我想在执行插入、删除、更新操作时手动放置代码。
pouchdb可以看put,update,delete事件吗? 要执行手动同步而不是实时同步
我应该如何实现?
如何正确同步多个数据库?
我选择实时同步和手动同步哪个?
pouchdb 是否适合多数据库同步?
不要使用带实时同步的数据库,而是使用带回调的手动同步
问题:
- 多个 pouchdb 同步发出多个 http 请求,例如:(20 个 pouchdb 同步发出 20 个 http 请求)所以这是个坏主意
- pouchdb live sync 很好,适合一个或两个数据库,如果你进行 10 或 20 个 live pouchdb 同步,它总是会发出 active10 或 20 个 http 请求,所以这是个坏主意,也会阻塞你的前端 dom
- 不要将 manualsync 与 setinterval 一起使用,setinterval 也是个坏主意,但是它会在同步完成之前调用同步
解决方案
- 我们保持单个 http 请求
- 我们在一个一个完成后调用每个数据库
- 我们总是在没有 dom 阻塞的情况下生活,但是 setimeout 让您放松 dom
代码
function sync(){
setTimeout(function() {
var sync = PouchDB.sync('db1', 'http://localhost:5984/db1')
.on('complete', (info) => {
PouchDB.sync('db2', 'http://localhost:5984/db2')
.on('complete', (info) => {
sync()
});
});
},1000)
}