Как вы кэшируете запросы к базе данных с помощью Google Cloud Run?

#google-cloud-run

#google-cloud-run

Вопрос:

У меня есть сервер на GCR, и при вызове он запрашивает базу данных. Я думал просто добавить простой механизм для кэширования, например

 var lastDBUpdate int
var lastCache int
if lastDBUpdate > lastCache {
  lastCache = now
  return newResults
} else {
  return cachedResults
}
// endpoints that modify the db update the lastDBUpdate global var
  

Это сработало бы, если бы был только один контейнер (т. Е. Пока мой серверный сервер имеет небольшую нагрузку), но по мере роста моего приложения и создания нескольких контейнеров переменные lastDBUpdate и lastCache будут не синхронизированы между различными контейнерами. Итак, как я могу кэшировать данные из базы данных с помощью GCR?

Ответ №1:

Вы можете использовать Memorystore.

Вот руководство по подключению к экземпляру Redis из Cloud Run.