PHP Parallel Curl Requests: Leistungssteigerung beim Abrufen mehrerer JSON-Daten
Herkömmliche Ansätze zum Abrufen mehrerer JSON-Daten mit file_get_contents() können zeitaufwändig sein -aufwändig aufgrund seiner sequentiellen Natur. In diesem Artikel untersuchen wir eine effizientere Lösung mithilfe paralleler Curl-Anfragen.
Der angegebene Code zeigt einen typischen Ansatz, bei dem sequentiell eine Liste von URLs durchlaufen, JSON-Daten von jeder URL abgerufen und in einem Array gespeichert werden . Allerdings kann diese Methode die Leistung beeinträchtigen, insbesondere wenn es um eine große Anzahl von URLs geht.
Um dieses Problem zu lösen, können wir Multi-Curl-Anfragen nutzen. Multi-Curl ist eine Technik, die die parallele Ausführung mehrerer Curl-Anfragen gleichzeitig ermöglicht. Dieser Ansatz beschleunigt den Prozess erheblich, da nicht mehr auf den Abschluss jeder Anfrage gewartet werden muss, bevor die nächste initiiert wird.
Das bereitgestellte Code-Snippet bietet eine Implementierung von Multi-Curl-Anfragen:
$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);
Zusammenfassend lässt sich sagen, dass parallele Curl-Anfragen eine erhebliche Leistungsverbesserung beim Abrufen mehrerer JSON-Daten von verschiedenen URLs bieten. Diese Technik ist besonders vorteilhaft, wenn Sie mit einer großen Anzahl von URLs arbeiten, da sie die Wartezeit zwischen Anfragen minimiert und so zu einem schnelleren Datenabruf führt.
Das obige ist der detaillierte Inhalt vonWie können parallele Curl-Anfragen die Leistung beim Abrufen mehrerer JSON-Daten verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!