PHP 병렬 Curl 요청: 다중 JSON 데이터 검색 성능 향상
file_get_contents()를 사용하여 여러 JSON 데이터를 가져오는 기존 접근 방식에는 시간이 걸릴 수 있습니다. -순차적 특성으로 인해 소비됩니다. 이 기사에서는 병렬 컬 요청을 사용하여 보다 효율적인 솔루션을 탐색합니다.
주어진 코드는 URL 목록을 순차적으로 반복하고 각 URL에서 JSON 데이터를 가져와 배열에 저장하는 일반적인 접근 방식을 보여줍니다. . 그러나 이 방법은 특히 상당한 수의 URL을 처리할 때 성능을 저하시킬 수 있습니다.
이 문제를 극복하기 위해 다중 컬 요청을 활용할 수 있습니다. 멀티 컬(Multi-curl)은 여러 컬 요청을 동시에 병렬 실행할 수 있는 기술입니다. 이 접근 방식을 사용하면 다음 요청을 시작하기 전에 각 요청이 완료될 때까지 기다릴 필요가 없어 프로세스 속도가 크게 향상됩니다.
제공된 코드 조각은 다중 컬 요청 구현을 제공합니다.
$nodes = array($url1, $url2, $url3); $node_count = count($nodes); $curl_arr = array(); $master = curl_multi_init(); for($i = 0; $i < $node_count; $i++) { $url =$nodes[$i]; $curl_arr[$i] = curl_init($url); curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true); curl_multi_add_handle($master, $curl_arr[$i]); } do { curl_multi_exec($master,$running); } while($running > 0); for($i = 0; $i < $node_count; $i++) { $results[] = curl_multi_getcontent ( $curl_arr[$i] ); } print_r($results);
요약하자면, 병렬 컬 요청은 서로 다른 URL에서 여러 JSON 데이터를 가져오는 데 상당한 성능 향상을 제공합니다. 이 기술은 요청 간 대기 시간을 최소화하여 데이터 검색 속도를 향상시키므로 다수의 URL로 작업할 때 특히 유용합니다.
위 내용은 병렬 Curl 요청은 어떻게 다중 JSON 데이터 검색 성능을 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!