Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Firestore讲座操作计数_Java_Android_Firebase_Google Cloud Firestore_Nosql - Fatal编程技术网

Java Firestore讲座操作计数

Java Firestore讲座操作计数,java,android,firebase,google-cloud-firestore,nosql,Java,Android,Firebase,Google Cloud Firestore,Nosql,我想了解Firestore如何计算读取操作 我有一个用于移动设备的数据库和应用程序,所以要让Firestore离线,无需做任何事情。 当我的应用程序打开时,用户从一组| n |文档接收数据 我想了解,即使数据库中没有任何更改,使用internet打开应用程序的用户是否会从数据库执行读取操作? 或者每次访问时,如果没有更改,则不会添加读取操作,因为数据仍然驻留在缓存中 如果用户在打开internet的情况下打开应用程序,即使数据库中没有任何更改,也会从数据库执行读取操作 如果您正在使用get()

我想了解Firestore如何计算读取操作

我有一个用于移动设备的数据库和应用程序,所以要让Firestore离线,无需做任何事情。 当我的应用程序打开时,用户从一组| n |文档接收数据

我想了解,即使数据库中没有任何更改,使用internet打开应用程序的用户是否会从数据库执行读取操作? 或者每次访问时,如果没有更改,则不会添加读取操作,因为数据仍然驻留在缓存中

如果用户在打开internet的情况下打开应用程序,即使数据库中没有任何更改,也会从数据库执行读取操作

如果您正在使用
get()
调用,Firestore SDK将始终尝试从服务器获取数据,无论数据是否更改。只有当设备脱机时,才能使用缓存中的数据。但是,根据官方文档,如果您试图使用
SnapShotListener
实时侦听更改:

初始状态可以直接来自服务器,也可以来自本地缓存。如果本地缓存中存在可用状态,则查询快照最初将使用缓存的数据填充,然后在客户端了解到服务器的状态后使用服务器的数据更新

换句话说,如果服务器说您没有新添加/更新/删除的文档,那么您将从缓存中获取数据。但是,您还应注意以下事项:

此外,如果侦听器断开连接的时间超过30分钟(例如,如果用户脱机),您将被收取读取费用,就像您发出了一个全新的查询一样

:

对于您执行的每个查询,即使查询不返回任何结果,也至少要收取读取一个文档的费用


但根据Firestore的设计,所有这些费用都是正常的。

嗨,tusilio!我能帮你了解其他信息吗?如果你认为我的答案对你有帮助,请考虑通过点击复选来接受它。✔️) 在投票箭头的左边。应该换成绿色。我真的很感激。谢谢!