在设备之间同步数据 - .NET SDK
Atlas Device Sync自动在客户端应用程序和 Atlas App Services后端之间同步数据。 当客户端设备在线时,Sync 会在设备和后端应用程序之间的背景线程中异步同步数据。
Flexible Sync
当您为后端应用程序配置选择“ Flexible Sync ”时,您的客户端实施必须包括对可查询字段的查询的订阅。 Flexible Sync 的工作原理是同步与您在客户端应用程序中维护的查询订阅相匹配的数据。
订阅集包含一组查询。 Realm Flexible Sync 会返回与这些查询匹配的文档,前提是用户具有读取和/或读写这些文档的适当权限。 如果文档与查询匹配,但客户端没有读取或写入文档的权限,则文档不会同步到客户端应用程序。
您可以使用 Realm 查询语言或 LINQ 进行查询。
注意
Flexible Sync 不支持 Realm 查询语言和 SDK 查询引擎中可用的所有查询运算符。有关详细信息,请参阅 Flexible Sync RQL 限制。
订阅集基于特定类型的 Realm 对象。如果您有多种类型的 Realm 对象,则可能有多个订阅。
要在客户端应用程序中使用 Flexible Sync,请使用灵活同步配置打开同步 Realm。然后,管理订阅以确定要同步的文档。
提示
Device Sync 支持两种同步模式:Flexible Sync 和较早的基于分区的同步。如果您的 App Services 后端采用的是基于分区的同步,请参阅基于分区的同步 - .NET SDK。
我们建议使用 Flexible Sync。
更新群组以提高性能
订阅集的每个写入事务都会产生性能成本。如果需要在会话期间对 Realm 对象进行多次更新,请考虑将编辑的对象保留在内存中,直到所有更改完成。这通过仅将完整且更新的对象写入 Realm 而不是每次更改来提高同步性能。
单向同步
“灵活同步”的一种特殊情况是,您需要应用程序向 Atlas 发送数据,但不接收任何更新。
在这种情况下,您可以使用数据导入将数据从客户端应用程序流式传输到启用了 Flexible Sync 的 Atlas App Services 应用程序,从而最大限度地提高同步性能。