什么是 Firebase 中与 Remote Config 相关的缓存?

What is cache related to Remote Config in Firebase?

我在 Firebase 中得到了 远程配置 的概念,但是在实例 FirebaseRemoteConfig 上调用 fetch() 方法时,如:

mFirebaseRemoteConfig.fetch(3600)  

必须通过缓存过期时间,因为这里是3600。但我的问题是,为什么必须在 fetch() 方法中传递 cache expiration?。 fetch()方法中的缓存过期有什么用? throttlefetch 相关的术语是什么?
我已经阅读了这个文档 https://firebase.google.com/docs/remote-config/android#caching 但我没有详细了解 cache 在使用 FirerbaseRemoteConfig[=35= 时获取数据的作用].

通过在您的应用中调用 fetch,您可以确保检索到新的配置值(如果有)。从服务器检索远程配置是一项相对昂贵的操作,因此 API 被优化以限制刷新值的频率。在这些刷新之间,最后已知的值(可能是您硬编码的值,或者是最后从服务器检索到的值)保存在设备上的缓存中。

fetch 有两种重载,一种不带参数,另一种带参数 cacheExpirationSecondsdocumentation for the latter 表示:

If the data in the cache was fetched no longer than this many seconds ago, this method will return the cached data. If not, a fetch from the Remote Config Server will be attempted.

所以这意味着如果在 cacheExpirationSeconds 之前检索到远程配置,则此调用将继续使用它已有的值。如果检索值超过 cacheExpirationSeconds 之前,这将获取新值。

documentation for the parameterless overload of fetch() 说:

This method uses the default cache expiration of 12 hours.

所以调用这个版本相当于调用fetch(12*60*60).