Я пытаюсь ускорить работу своего сайта, обрабатывая запросы cURL. Я запускаю около 3 запросов, два идут на один и тот же сервер. Вот мой код:Processing Несколько запросов cURL в PHP быстрее
$profile = curl_init();
curl_setopt($profile, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($profile, CURLOPT_RETURNTRANSFER, true);
curl_setopt($profile, CURLOPT_FAILONERROR, true);
curl_setopt($profile, CURLOPT_URL,"https://owapi.net/api/v2/u/".$battletag."/stats/".$mode."?platform=".$platform);
$result = curl_exec($profile); //grab API data
curl_close($profile);
$stats = json_decode($result, true); //decode JSON data
$profile1 = curl_init();
curl_setopt($profile1, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($profile1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($profile1, CURLOPT_FAILONERROR, true);
curl_setopt($profile1, CURLOPT_URL,"https://api.lootbox.eu/".$platform."/us/".$battletag."/profile");
$result1 = curl_exec($profile1); //grab API data
curl_close($profile1);
$stats1 = json_decode($result1, true);
$hero_stats = curl_init();
curl_setopt($hero_stats, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($hero_stats, CURLOPT_RETURNTRANSFER, true);
curl_setopt($hero_stats, CURLOPT_FAILONERROR, true);
curl_setopt($hero_stats, CURLOPT_URL,"https://api.lootbox.eu/".$platform."/us/".$battletag."/competitive-play/heroes");
$hero_play_time = curl_exec($hero_stats); //grab API data
curl_close($hero_stats);
$heroes_info = json_decode($hero_play_time, true);
Как я могу обработать эти запросы в то же время без перезагрузки соединения? Я хочу ускорить загрузку моего сайта, потому что сейчас это занимает много времени. Любая помощь будет оценена по достоинству. Я слышал о методе curl_multi_init(), но я не уверен, как правильно его использовать. Любая помощь будет приветствоваться.
Спасибо.
Возможно, нет способа сделать соединение более быстрым, но вы считали кэширование? (Учитывая, что это жизнеспособная возможность c). С учетом сказанного, вы не можете много сделать с этим, это в основном зависит от того, сколько данных вы получаете (как в буквальном количестве, тем меньше, тем лучше) и о том, насколько быстро подходят API-интерфейсы. – Andrew
@ У меня нет, и на самом деле это отличная идея. Это возможность, мне просто нужно добавить какое-то обновление кеша, чтобы пользователь мог обновить свои результаты. – Redbit
Ну, вот и вы. Я предлагаю [PHP Redis] (https://github.com/phpredis/phpredis) (который на самом деле написан на C, поскольку это имя НЕ означает, и является тупо быстрым, если вы не работаете на нескольких серверах, то это плохая идея). Если вы работаете на нескольких серверах и вам нужно синхронизировать, я думаю, что Memcache - хороший выбор, как любой. – Andrew