Есть запрос к api, который выполняется очень долго (получаю инфу о складах, много инфы)
warehouses = codes.map do |code|
data = Net::HTTP.get(URI.parse(URI.encode("http://endpoint.de?параметр=#{code}")))
JSON.parse(data)
end
codes
- содержит коды городов
data
- вся инфа о конкретном складе в выбранном городе
warehouses
- массив со складами в выбранном по codes городу
Для города, где таких складов 4, понятное дело, строится быстро. Но в Мск их 219 и строится может до 30 секунд.
В базе сохранять можно, как вариант.
Но я хотел бы узнать:
1) как и где еще можно хранить эти данные? чтобы сократить время запросов. Или все таки лучше в базе.
2) можно как-то оптимизировать код?
UPD: Логика такая
1) выбираю селектом город
2) код города отправляется в экшн
3) в экшне строю склады и их описание
4) отображаю на карте
Задача: получить большое кол-во складов быстро. В мск (219 складов) при этом запрос длится 30 секунд. в маленьком городе, где всего 4 склада, инфа по складам получается быстро.