什么是 Firebase 中与 Remote Config 相关的缓存?
What is cache related to Remote Config in Firebase?
我在 Firebase 中得到了 远程配置 的概念,但是在实例 FirebaseRemoteConfig
上调用 fetch()
方法时,如:
mFirebaseRemoteConfig.fetch(3600)
必须通过缓存过期时间,因为这里是3600
。但我的问题是,为什么必须在 fetch()
方法中传递 cache expiration?。 fetch()
方法中的缓存过期有什么用? throttle
与 fetch
相关的术语是什么?
我已经阅读了这个文档 https://firebase.google.com/docs/remote-config/android#caching 但我没有详细了解 cache 在使用 FirerbaseRemoteConfig[=35= 时获取数据的作用].
通过在您的应用中调用 fetch
,您可以确保检索到新的配置值(如果有)。从服务器检索远程配置是一项相对昂贵的操作,因此 API 被优化以限制刷新值的频率。在这些刷新之间,最后已知的值(可能是您硬编码的值,或者是最后从服务器检索到的值)保存在设备上的缓存中。
fetch
有两种重载,一种不带参数,另一种带参数 cacheExpirationSeconds
。 documentation 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)
.
我在 Firebase 中得到了 远程配置 的概念,但是在实例 FirebaseRemoteConfig
上调用 fetch()
方法时,如:
mFirebaseRemoteConfig.fetch(3600)
必须通过缓存过期时间,因为这里是3600
。但我的问题是,为什么必须在 fetch()
方法中传递 cache expiration?。 fetch()
方法中的缓存过期有什么用? throttle
与 fetch
相关的术语是什么?
我已经阅读了这个文档 https://firebase.google.com/docs/remote-config/android#caching 但我没有详细了解 cache 在使用 FirerbaseRemoteConfig[=35= 时获取数据的作用].
通过在您的应用中调用 fetch
,您可以确保检索到新的配置值(如果有)。从服务器检索远程配置是一项相对昂贵的操作,因此 API 被优化以限制刷新值的频率。在这些刷新之间,最后已知的值(可能是您硬编码的值,或者是最后从服务器检索到的值)保存在设备上的缓存中。
fetch
有两种重载,一种不带参数,另一种带参数 cacheExpirationSeconds
。 documentation 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)
.