Снижение числа обращений к файербазу в облачной базе с помощью кэша - PullRequest
0 голосов
/ 24 февраля 2020

Я создаю веб-приложение с использованием облачного пожарного магазина Google Firebase и Angular 8. Я часто использую одни и те же списки, которые запрашиваются в разных компонентах. Что является лучшим способом уменьшить количество чтений.

  • Кэш Облачное хранилище Firebase автоматически использует кэш, если список доступен в кэш-памяти? В настоящее время я использую AngularFirestoreModule.enablePersistence (), он забирает данные из кеш-памяти, если нет соединения inte rnet. Можно ли также получить данные из кэша, даже если есть целое rnet соединение?

  • Сохранить список как глобальную переменную Это хорошая идея для сохранить список в глобальной переменной? Я бы сохранил список, который запрашивается в первый раз, в глобальной переменной, а когда список запрашивается во второй раз, используйте глобальную переменную вместо извлечения списка из firestore.

Какое решение лучшее или есть другие решения?

Заранее спасибо!

1 Ответ

0 голосов
/ 24 февраля 2020

В настройках вашего get вы можете настроить источник, который вы хотите использовать, независимо от того, находитесь ли вы в автономном режиме или нет, доступны варианты 'cache', 'default' и 'server', и вы можете получить более подробную информацию о том, какие костюмы вам подходят. В ваших документациях ваши потребности лучше, как вы можете видеть в примере второй документации :

var docRef = db.collection("cities").doc("SF");
var getOptions = {
   source: 'cache'
};
docRef.get(getOptions).then(function(doc) {
   // Do something
})

Также вы можете проверить Включение автономных данных для установки кеша правильного размера.

Я не вижу особой ценности в использовании локальной копии списка, если вы используете опцию кэширования в firestore, поскольку они в основном будут делать то же самое.

Дайте мне знать, если это помог тебе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...