【问题标题】:Caching data with Firebase Realtime Database & Flutter - how do I make a query refresh & override the cache?使用 Firebase 实时数据库和 Flutter 缓存数据 - 如何刷新查询并覆盖缓存?
【发布时间】:2020-03-26 03:42:13
【问题描述】:

我正在对实时数据库中的数据进行搜索查询,但它似乎只返回缓存的数据,而不是在数据库中的数据更改时更新。我想做一个新的查询,要么清除那部分缓存,要么强制覆盖。

【问题讨论】:

  • 如果设备没有网络连接,结果将来自缓存。您确定您的测试情况能够正常联网吗?
  • "寻求调试帮助的问题('为什么这段代码不工作?')必须包括期望的行为、特定问题或错误必要的最短代码 在问题本身。没有明确的问题陈述的问题对其他读者没有用处。请参阅:@ 987654321@"

标签: flutter caching firebase-realtime-database


【解决方案1】:

如果您只想读取未存储在缓存中的数据,这里有一个不错的 sn-p 代码:

!snapshot.data.metadata.isFromCache ? Not from cache  : Something else

如果不想启用缓存,请将持久性设置为 false:

FirebaseDatabase.getInstance().setPersistenceEnabled(false)

【讨论】:

  • 实时数据库不提供有关缓存状态的任何元数据。您一定会想到 Firestore,它是一个具有不同 API 的完全不同的数据库。这不是这个问题的主题。
  • @DougStevenson 你是对的。这适用于 Cloud Firestore。
猜你喜欢
  • 2016-05-18
  • 2020-10-16
  • 2012-01-29
  • 2019-12-14
  • 2012-03-02
  • 1970-01-01
  • 2020-12-14
  • 2019-05-12
  • 1970-01-01
相关资源
最近更新 更多