Прежде чем идти по этому пути, провели ли вы анализ затрат, чтобы выяснить, стоит ли это того? Имейте в виду, что теперь это код, который вам нужно поддерживать, а облачная инфраструктура требует некоторого ухода и поддержки. т. е. в своем анализе цен не забывайте учитывать свое время для расчета затрат. Это все еще финансово стоит?
Не зная объема ваших транзакций, похоже, что вы провели немало бесплатной оптимизации на стороне клиента. Если вы добавите оптимизацию на стороне сервера, вы фактически добавите вызов из облака в облако и увеличите время ожидания для различных используемых вами сервисов AWS. Вы в порядке, принимая удар производительности?
Если вы все еще считаете, что это стоит того, я бы порекомендовал путь по безсерверному маршруту, используя API Gateway -> Lambda -> DynamoDB. Это сохранит ваши расходы относительно низкими, поскольку у Lambda довольно щедрый бесплатный уровень. Если вам нужна более высокая производительность, вы всегда можете вставить Redis через Elasticache в стек позже.
Что касается того, что вам нужно сохранить, вы, вероятно, захотите кэшировать различные входные данные, которые вводит пользователь, вместе с информацией, возвращаемой из API мест. Например, вы, вероятно, захотите захватить строку поиска, информацию о местоположении, а затем любое из полей, которые вы хотите (например, place_id, icon, creation_hours и т. Д.); в основном то, что вы используете сегодня. Это будет очень похоже на ваш кэш LRU.