Как я могу кэшировать конфигурацию размером менее 5 МБ для бесплатной облачной функции Google? - PullRequest
0 голосов
/ 13 июля 2020

У меня есть облачная функция Google, которая использует API для предоставления информации пользователям. Тем не менее, я не должен выполнять вызов api для каждого запроса, как указано в хорошей практике API, которую я использую, поэтому мне нужно кешировать результат.

Я хотел бы кешировать его, чтобы получить быстрый доступ, но также желательно использовать уровень бесплатного пользования Google (или любой другой вариант уровня бесплатного пользования, который хорошо подходит для данной работы).

Спасибо :)

Ответы [ 2 ]

0 голосов
/ 13 июля 2020

Вы можете сохранить результат API в памяти или на диске /tmp (который фактически также хранится в памяти). Поскольку минимальный размер памяти для образа облачных функций составляет 128 МБ, разумно потратить 5 МБ из этого объема на кэшированные результаты API. поэтому нельзя сказать, как часто вызов вашей облачной функции будет обслуживать кешированные результаты по сравнению с вызовом серверного API.

0 голосов
/ 13 июля 2020

Мне не удалось понять ваш вопрос, но я думаю, что вы пытаетесь создать решение для кеширования в памяти с использованием облачной функции. TL; DR это невозможно.

Облачные функции не должны иметь состояния, ознакомьтесь с официальной документацией . Те же правила применяются и для Cloud Run.

Однако вы можете использовать комбинацию инструментов для достижения своей цели, например Redis Memorystore , но это не относится к уровню бесплатного пользования.

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

Поиск бесплатное решение для решения в памяти очень сложно ИМО.

Ура

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