Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Permintaan Keriting Selari Boleh Meningkatkan Prestasi untuk Pengambilan Data Berbilang JSON?

Bagaimanakah Permintaan Keriting Selari Boleh Meningkatkan Prestasi untuk Pengambilan Data Berbilang JSON?

Patricia Arquette
Patricia Arquetteasal
2024-11-12 14:20:01137semak imbas

How Can Parallel Curl Requests Enhance Performance for Multiple JSON Data Retrieval?

Permintaan Keriting Selari PHP: Meningkatkan Prestasi untuk Mendapatkan Berbilang Data JSON

Pendekatan konvensional untuk mengambil berbilang data JSON menggunakan file_get_contents() boleh menjadi masa -memakan kerana sifatnya yang berurutan. Dalam artikel ini, kami meneroka penyelesaian yang lebih cekap menggunakan permintaan keriting selari.

Kod yang diberikan menunjukkan pendekatan biasa, berulang secara berurutan melalui senarai URL, mengambil data JSON daripada setiap URL dan menyimpannya dalam tatasusunan . Walau bagaimanapun, kaedah ini boleh menghalang prestasi, terutamanya apabila berurusan dengan sejumlah besar URL.

Untuk mengatasi isu ini, kami boleh memanfaatkan permintaan berbilang lengkung. Multi-curl ialah teknik yang membolehkan pelaksanaan selari berbilang permintaan curl secara serentak. Pendekatan ini mempercepatkan proses dengan ketara dengan menghapuskan keperluan untuk menunggu setiap permintaan selesai sebelum memulakan yang seterusnya.

Coretan kod yang disediakan menawarkan pelaksanaan permintaan berbilang lengkung:

$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);

Ringkasnya, permintaan curl selari menawarkan peningkatan prestasi yang ketara untuk mengambil berbilang data JSON daripada URL yang berbeza. Teknik ini amat berfaedah apabila bekerja dengan sejumlah besar URL, kerana ia meminimumkan masa menunggu antara permintaan, yang membawa kepada pengambilan data yang lebih pantas.

Atas ialah kandungan terperinci Bagaimanakah Permintaan Keriting Selari Boleh Meningkatkan Prestasi untuk Pengambilan Data Berbilang JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn