Ответ 1
Я бы не согласился с вами относительно Редиса. Redis - очень мощный магазин ключей, который можно легко использовать для того, что вы хотите. Он предназначен для того, чтобы сбрасывать в него вещи и вынимать их снова. В вашей ситуации вы можете легко кэшировать ответ API, сохранив его в Redis с запросом в качестве ключа (если это API REST, который вы вызываете, вы можете просто использовать URL или сериализованные данные в качестве ключа) и просто кешировать ответ как стробированный объект JSON (или XML-строка, если вам это удается).
Вы также можете установить истечение срока действия кэшированных данных, и оно будет очищено по истечении времени.
Затем вы можете обернуть свой вызов API в вспомогательную функцию, которая проверяет кеш и возвращает значение, если оно присутствует. Если он не делает запрос API, добавляет его в кеш, а затем возвращает его.
Это, пожалуй, самое простое решение и, похоже, очень хорошо подходит для вашего использования.