Вопрос о кешировании данных из вызовов внешнего API-интерфейса ReST.Redis/Memcached ReST-кэширование для внешней службы
В настоящее время существует служба ReST, настроенная для генерации и получения некоторых конкретных типов отчетов, которые должен потреблять пользовательский интерфейс. Однако эта услуга не предназначена для использования в больших объемах или для публики, и эти отчеты довольно статичны. Возможно, это происходит только каждые 10-20 минут. Веб-приложение находится на отдельном сервере.
Что я хотел бы сделать, используя memcached или Redis, когда запрос данных поступает от пользовательского интерфейса к веб-серверу, совершает вызов из веб-приложения на сервер отчетов до получить указанный отчет, преобразовать данные в соответствующий формат для пользовательского интерфейса, кэшировать его с отметкой времени и вернуть его в пользовательский интерфейс, чтобы последующие запросы были доступны в памяти на веб-сервере приложений без необходимости повторного использования, запрос с сервера отчетов. Мне также нужно будет проверить эту метку времени и сделать новый запрос, если кешированный отчет будет удерживаться дольше указанного времени. Данные, которые будут кэшироваться, являются довольно незначительными только некоторыми небольшими объектами JSON с только несколькими значениями, содержащими информацию, которую требует пользовательский интерфейс, и нет тонны этих объектов, я бы не удивился, если бы все они могли быть легко сохранены в памяти сразу же, поэтому тимпинг времени является единственной недействительностью, которая должна быть необходимой.
У меня почти 0 опыта здесь, когда дело доходит до кэширования/memcached/Redis. Есть ли преимущества для одного или другого? Что-то вроде этого возможно? Как я могу это реализовать? Есть ли другие варианты?
Цените помощь!
Спасибо! Да, я считал простые файлы, однако я чувствовал, что Memcached или Redis могут быть правильным выбором для упрощения. Меня интересовал Редис, поскольку это то, что я, вероятно, хотел бы узнать в будущем. Но похоже, что Memcached - это то, как я пойду в этом случае. Кэширование на стороне сервера необходимо, так как сервер, создающий отчеты, разрабатывается третьей стороной, не предназначенной для публичной поддержки, и разработчик выразил, что они не хотят иметь дело с объемом запросов, которые мы ожидаем. Большое спасибо за ваш ответ! – pipedreams2