gpt4 book ai didi

swift - Firebase 是在本地存储上缓存数据本身还是只是查询结果?另外,如果在线,本地数据库是否受到影响?

转载 作者:行者123 更新时间:2023-11-30 12:57:08 25 4
gpt4 key购买 nike

这是我第一次使用远程数据库,所以请耐心等待。

我通过文档知道使用相同语法的查询将利用缓存。即:在下面的代码中,如果在远程连接期间命中第一个查询,并且在执行第二个查询之前连接断开,则第二个查询仍将通过缓存进行工作。

let scoresRef = FIRDatabase.database().referenceWithPath("scores")
scoresRef.queryOrderedByValue().queryLimitedToLast(4).observeEventType(.ChildAdded, withBlock: { snapshot in
print("The \(snapshot.key) dinosaur's score is \(snapshot.value)")
})

scoresRef.queryOrderedByValue().queryLimitedToLast(2).observeEventType(.ChildAdded, withBlock: { snapshot in
print("The \(snapshot.key) dinosaur's score is \(snapshot.value)")
})
  1. 文档本身的数据是否被缓存,导致离线后以任何形式查询已获取的数据都会成功。例如,如果在本例中我有一个第三个离线查询,尝试通过其键获取分数的倒数第四个子项,它会通过缓存工作吗?

  2. 当远程连接工作时,FirDataEventType 查询会直接发送到远程,还是会在远程运行之前运行本地查询?

感谢您提供的任何意见!

最佳答案

在您当前的代码中,第二个查询不必检索其他数据,因为已经检索了子项。

但是这里有很多微妙之处。 Firebase 会在数据发生变化时同步数据,从而支持更多场景。

与其试图想象可能发生的所有事情,如果您 enable debug logging 可能更有教育意义。 。这将显示客户端为每个查询检索的实际数据。

关于swift - Firebase 是在本地存储上缓存数据本身还是只是查询结果?另外,如果在线,本地数据库是否受到影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40301565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com