-1

由于频繁查询实时数据库数据的开销很大,我实现了实时自动缓存策略。(Database.Database().isPersistenceEnabled=true),但我想知道是否应该添加另一种机制,因为我可以在查询远程数据之前检查本地缓存的数据,以尽量减少成本。

我实现了实时自动缓存策略。

Database.Database().isPersistenceEnabled=true

我希望有一个适合我的答案,特别是来自@Frank van Puffelen先生

1答案1

重置为默认值
0

当你设置已启用持久性事实上,这意味着:

Firebase数据库客户端将缓存同步数据,并跟踪应用程序运行时启动的所有写入操作。

通过将此值设置为真的,数据将被持久化到设备(磁盘)存储中,因此当应用程序重新启动时(即使当时没有网络连接),数据也将再次可用。

当你这样说时:

但我想知道是否应该添加另一种机制,因为我可以在查询远程数据之前检查本地缓存的数据,以尽量减少成本。

当您的设备连接到互联网时,您无法检查缓存。缓存仅在设备未连接到互联网时可用。

如果要指定查询的源,也许应该考虑使用云Firestore你可以在哪里打电话获取()并指定来源,可以是隐藏物服务器,或违约.

5
  • 嘿,米夫塔。我的回答有帮助吗?我能帮你了解其他信息吗? 评论 5月17日6:33
  • 感谢@Alex Mamo先生的回复。因此,如果此方法仅离线查询缓存,我们可以说它无法将实时数据库成本降至最低,因为用户的设备通常在线,无法指定要调用的源数据。无论如何,谢谢 评论 5月17日15:46
  • 总是有办法的。我认为我可以在缓存目录中编写json对象(因为realtime是一个json对象),并定期更新它。 评论 5月17日15:52
  • 如果你找到了一个替代解决方案,那么你可以继续下去。 评论 5月17日17:46
  • 好的,我会的。有1000种方法 评论 5月17日19:24

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问自己的问题.