由于频繁查询实时数据库数据的成本较高,所以我实现了实时自动缓存策略。 (Database.database().isPersistenceEnabled = true) ,但我想知道是否应该添加另一种机制,因为我可以在查询远程数据之前检查本地缓存的数据,以尽量减少成本。
我实现了实时自动缓存策略。
Database.database().isPersistenceEnabled = true
我希望得到一个适合我的答案,尤其是@Frank van Puffelen 先生的答案
当您将 isPersistenceEnabled 设置为 true 时,这意味着:
Firebase 数据库客户端将缓存同步数据并跟踪您在应用程序运行时发起的所有写入。
和
通过将此值设置为
,数据将保留到设备上(磁盘)存储,因此在应用程序重新启动时将再次可用(即使当时没有网络连接)。true
当你说这句话时:
但我想知道是否应该添加另一种机制,因为我可以在查询远程数据之前检查本地缓存的数据,以尽量减少成本。
当您的设备连接到互联网时,您无法检查缓存。缓存仅在您的设备未连接到互联网时可用。
如果您想指定查询的来源,也许您应该考虑使用 Cloud Firestore,您可以在其中调用 get() 并指定 Source,可以是 CACHE、SERVER 或 默认。