Вот простая идея - извлекать и хранить результаты из API (те, которые, по вашему мнению, не изменятся через день), либо на диске, либо в базе данных, а затем использовать эти сохраненные результаты, чтобы получить то, что в противном случае вы бы сделали извлечены из API.
Поскольку хранить что-либо во внешнем интерфейсе JS при перезагрузке страницы не так просто, вам необходимо использовать PHP для этого. Исходя из того, что дано, у вас, кажется, есть два способа вызова API:
- через внешний интерфейс JS (no- go)
- через ваш PHP бэкэнд (исправно для go)
Теперь вам нужно следить за тем, чтобы ваши результаты синхронизировались каждые (скажем) 24 часа.
Добавьте фрагмент к вашему PHP код, который содержит переменную $lastUpdated
(или что-то подобное), и присваивает ему значение "stati c" текущего времени (НЕ используя time()
). Теперь добавьте пару операторов, чтобы обновить сохраненные результаты if
, текущее время по крайней мере на 24 часа больше, чем $lastUpdated
, с последующим обновлением $lastUpdated
до текущего времени.
Это должно дать вам то, что вам нужно с одним вызовом API в день.
PS: я не эксперт в PHP, но вы наверняка можете разобраться с датой и временем.