Что такое кеш, связанный с Remote Config в Firebase? - PullRequest
0 голосов
/ 03 июня 2018

Я получил концепцию Remote Config в Firebase, но при вызове метода fetch() для экземпляра FirebaseRemoteConfig, например:

mFirebaseRemoteConfig.fetch(3600)  

, нужно передать кешвремя истечения как здесь 3600.Но у меня вопрос: почему нужно передавать срок действия кэша в методе fetch()?Какая польза срок действия кэша в методе fetch()?и что это за терминология throttle, связанная с fetch?
Я изучил эту документацию https://firebase.google.com/docs/remote-config/android#caching, но не получил подробных сведений о роли кеш в получении данныхпри работе с FirerbaseRemoteConfig .

1 Ответ

0 голосов
/ 04 июня 2018

Вызывая fetch в своем приложении, вы гарантируете, что будут получены новые значения конфигурации (если они есть).Извлечение удаленной конфигурации с сервера является относительно дорогой операцией, поэтому API оптимизирован для ограничения частоты обновления значений.Между этими обновлениями последние известные значения (которые могут быть либо жестко запрограммированными, либо теми, которые были последними получены с сервера) хранятся в кеше на устройстве.

Существует две перегрузки для fetch, одна без параметров, а другая с параметром cacheExpirationSeconds.Документация для последнего гласит:

Если данные в кеше были получены не дольше, чем много секунд назад, этот метод вернет кэшированные данные.Если нет, будет предпринята попытка выборки с сервера удаленной настройки.

Таким образом, это означает, что если удаленная конфигурация была получена менее чем cacheExpirationSeconds назад, этот вызов продолжит использовать значения, которые уже используютсяесть.Если значения были получены более чем cacheExpirationSeconds назад, будут получены новые значения.

Документация для перегрузки без параметров fetch() говорит:

Этот метод использует срок действия кэша по умолчанию 12 часов.

Таким образом, вызов этой версии эквивалентен вызову fetch(12*60*60).

...