Sync Gateway将所有文档添加到Couchbase Server时清除所有文档吗? 例如,我从Android应用程序中添加了一个文档,该文档将文档添加到Sync Gateway服务器,然后Sync Gateway将其转发到Couchbase服务器。 Sync Gateway是否应在将文档添加到Couchbase Server时清理/删除文档,并且不再需要它了?
除此之外,我的Android应用程序还在移动设备上缓存文档。例如,如果我重新启动Sync Gateway服务器,则Sync Gateway服务器中没有文档。现在,当我再从移动应用程序向同步网关进行一次文档推送时。它将以前的文档添加到Sync Gateway服务器。如何在Android设备上停止这种行为?
答案 0 :(得分:2)
当Sync Gateway添加到文档中时,不应清除/删除该文档。 Couchbase Server,不再需要吗?
不。您的应用是知道何时不再需要文档的实体,因此,应用的责任是在不需要文档时将其删除。 Sync Gateway是同步 gateway ,这意味着它在执行适当的访问控制策略的同时在客户端和服务器之间同步文档。它无法管理您Android设备上的数据-这是包含Couchbase Lite数据库的Android应用的职责。
要在将文档推送到Sync Gateway后将其从Android应用中删除,可以在Purge API回调中调用replicated eventing。通知您应用程序推送了文档后,您可以在本地清除文档。
除此之外,我的Android应用程序还在缓存 在移动设备上的文档。例如,如果我重新启动同步 网关服务器,同步网关服务器中没有文档。
我建议您熟悉Couchbase Mobile的工作原理。
Couchbase Lite是一个嵌入式数据库。它将持久保存您写入的数据,因此它将在重启后继续存在。如果您不想在本地存储数据,请按照我之前指出的步骤进行操作。
Sync Gateway仅限于内存。数据未存储在Sync Gateway中。数据保留在Couchbase Server中。因此,当您重新启动Sync Gateway时,它将丢失其内存中缓存。下次,有来自客户端的复制/同步请求,它将从Couchbase服务器提取文档。重新启动Sync Gateway时,您永远不会丢失任何数据。