Кэширование в firebase

avatar
Learner123
8 августа 2021 в 16:31
233
1
1

Мое приложение размещено в firebase и использует облачные функции для получения данных из стороннего API. Эта облачная функция запускается по протоколу HTTP и запускается всякий раз, когда клиентская сторона запрашивает данные. Я хочу уменьшить количество вызовов облачных функций (поскольку в настоящее время это входит в план Blaze), поэтому думаю добавить кэширование в свое приложение.

  1. Какие стратегии кэширования я могу использовать на стороне клиента (веб-браузер), а также на стороне сервера (Node.js)?
  2. В целом я хочу сократить количество вызовов облачных функций, чтобы минимизировать затраты, чтобы при каждом клиентском запросе не нужно было вызывать облачные функции, вместо этого клиент мог получать данные из кэша.
  3. Должен ли я использовать базу данных Firebase в режиме реального времени для хранения данных из стороннего API и обновлять ее в Firebase в течение определенного периода времени, чтобы данные были актуальными? Данные на сторонней стороне меняются не часто.
  4. Снизит ли в конечном итоге затраты получение данных из базы данных в режиме реального времени (как указано в пункте 3 выше) вместо вызовов облачных функций?
Источник

Ответы (1)

avatar
Frank van Puffelen
8 августа 2021 в 17:55
2

Если вы размещаете свою облачную функцию за Firebase Hosting, вы можете писать заголовок кэша в каждом ответе и управлять поведением кэша Firebase Hosting таким образом. Разрешение обслуживать контент из CDN Firebase Hosting может значительно сократить количество выполнений вашей Функции и, следовательно, ее стоимость.