据我所观察到:
这是一种非常低效率的版本控制方法,在这种情况下,整个文档的副本被维护用于版本控制,而不仅仅是差异,因为这将占用大量的空间。(例如:它占用了8.03MB的磁盘空间,用于在“GrocerySync”示例应用程序中对单个待办项目执行500次点击。此外,修改管理器文档已超过2.5kb,我收到一条消息,表示您不能修改大于2.5kb的文档。为什么?
问题:
发布于 2015-06-16 04:19:05
在分布式系统中,特别是用于iOS/Android和其他嵌入式设备中,重要的是在每个修订版中保持完整的属性集。
在这样的系统中使用补丁/diff方法可能会导致更多的不一致,例如,只有在以前的状态也存在时,更新才有意义。否则,向用户展示文档的差异并不能提供很好的用户体验。但是,它非常适合于其他用例,例如源代码的版本控制(Git,Mercurial.)
可以在复制协议中利用补丁/diff方法。Couchbase Lite iOS存储库中有一个iOS,讨论了只传输修订的增量的可能性。
如果只想保留少量的修订,请更改maxRevTreeDepth属性以指定要在文档树历史记录中保留的修订数(默认值为20,请阅读更多这里)。
https://stackoverflow.com/questions/30694393
复制相似问题