လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> DNS cache ကိုမျှဝေခြင်းနှင့် PHP လျှောက်လွှာစွမ်းဆောင်ရည်ကိုတိုးတက်စေရန် Curl_share_init () function ကိုမည်သို့အသုံးပြုရမည်နည်း။

DNS cache ကိုမျှဝေခြင်းနှင့် PHP လျှောက်လွှာစွမ်းဆောင်ရည်ကိုတိုးတက်စေရန် Curl_share_init () function ကိုမည်သို့အသုံးပြုရမည်နည်း။

M66 2025-06-23

PHP တွင် ဆံပင်ကောက်ကောက် သည် HTTP တောင်းဆိုမှုများကို URL မှတစ်ဆင့်လုပ်ဆောင်ရန်အလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည် Get, Post တောင်းဆိုမှုများနှင့်အခြား http နှင့်သက်ဆိုင်သောစစ်ဆင်ရေးများကိုကိုင်တွယ်နိုင်သည်။ သို့သော် DNS မေးမြန်းချက်များသည်အထူးသဖြင့်အဆင့်မြင့်ကြိမ်နှုန်းတောင်းဆိုမှုများတွင် HTTP တောင်းဆိုမှုများကိုပြုလုပ်ရာတွင်စွမ်းဆောင်ရည်မြှင့်တင်ရေးတစ်ခုဖြစ်သည်။ တောင်းဆိုမှုတစ်ခုစီအတွက် DNS ကိုပြန်လည် ခွဲခြမ်းစိတ်ဖြာခြင်း ကိုရှောင်ရှားရန် PHP သည် dns cache sharing အတွက် dns cache sharing အတွက် function ကိုထောက်ပံ့ပေးသည်။

curl_share_init () function ကဘာလဲ။

curl_share_init () သည်မျှဝေထားသောအရင်းအမြစ်များကိုစတင်ရန်အသုံးပြုသော function တစ်ခုဖြစ်ပါတယ်။ မျှဝေထားသောအရင်းအမြစ်များကို curl session များအကြားဒေတာများကိုအထူးသဖြင့် DNS Cache များအကြားအချက်အလက်များကိုမျှဝေရန်အသုံးပြုနိုင်သည်။ DNS cache ကိုမျှဝေခြင်းအားဖြင့်မျိုးစုံကောက်ကောက်တောင်းဆိုမှုများသည် dns မေးမြန်းချက်များကိုရှောင်ရှားနိုင်ပြီးလျှောက်လွှာစွမ်းဆောင်ရည်ကိုတိုးတက်စေသည်။

function ကိုလက်မှတ်:

 resource curl_share_init ( void )

အဆိုပါ function ကို input parameters တွေကိုမနှင့် curl sharl_share_handle ) ကိုပြန်ပို့သည်။ ဤမျှဝေထားသောလက်ကိုင်ကိုမတူညီသောဆံပင်ကောက်ကောက်များအကြားသိုလှောင်ထားသည့်ဒေတာများကိုမျှဝေရန်အသုံးပြုသည်။

DNS cache sharing ကိုဘာကြောင့်သုံးတာလဲ။

မျှဝေထားသော cache မရှိခြင်း၌ curl သည် dns မေးမြန်းမှုတိုင်းတိုင်းကတောင်းဆိုတိုင်းအချိန်တိုင်းတွင် DNS Query ကိုလုပ်ဆောင်သည်။ အထူးသဖြင့်သင်သည်တူညီသောဒိုမိန်းအမည်ကိုတောင်းဆိုမှုများစွာပြုလုပ်နေစဉ် DNS မေးမြန်းချက်များကိုထပ်ခါတလဲလဲဖြုန်းတီးနိုင်သည့်အချိန်ကိုဖြုန်းတီးနိုင်သည်။ DNS cache sharing ကိုဖွင့်ခြင်းအားဖြင့် DNS resolution ၏ overhead သည်သိသိသာသာလျှော့ချနိုင်သည်။

Curl_share_init ကို အသုံးပြု. DNS cache sharing ကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း။

အဆင့် 1: curl shared လက်ကိုင်ကိုစတင်ပါ

ပထမ ဦး စွာ curl_share_init () ကို မျှဝေထားသောအရင်းအမြစ်ကိုအစပြုရန်ခေါ်ယူရန်ဖြစ်သည်။

 $share = curl_share_init();

အဆင့် 2 - DNS cache ကိုမျှဝေရန်မျှဝေထားသောလက်ကိုင်ကိုပြင်ဆင်ပါ

ရှယ်ယာလက်ကိုင်ကိုအစပြုပြီးနောက် DNS cache sharing ကို enable လုပ်ရန် curl_share_setopt () ကိုသုံးပါ။ curlshopt_share option သည်မျှဝေရန်အရင်းအမြစ်အမျိုးအစားကိုသတ်မှတ်သည်။ curl_lock_data_DNS သည် DNS cache ကိုမျှဝေရန်အသုံးပြုသည်။

 curl_share_setopt($share, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS);

အဆင့် 3: ဆံပင်ကောက်ကောက် session တစ်ခုဖန်တီးပြီးမျှဝေထားသောလက်ကိုင်ကိုချည်နှောင်ပါ

ထို့နောက် curl sessions မျိုးစုံကိုဖန်တီးပြီးမျှဝေထားသောလက်ကိုင်များကို၎င်းတို့အားချည်နှောင်ပါ။

 $ch1 = curl_init('http://m66.net');
curl_setopt($ch1, CURLOPT_SHARE, $share);

$ch2 = curl_init('http://m66.net');
curl_setopt($ch2, CURLOPT_SHARE, $share);

အဆင့် 4: curl တောင်းဆိုမှုကို execute

curl sessions အားလုံးကိုသတ်မှတ်ပြီးနောက်သင်တောင်းဆိုမှုများကိုသီးခြားစီလုပ်ဆောင်နိုင်သည်။

 curl_exec($ch1);
curl_exec($ch2);

အဆင့် 5. ကောက်ကောက် session ကိုပိတ်ပြီးအရင်းအမြစ်များကိုမျှဝေပါ

တောင်းဆိုမှုပြည့်စုံပြီးနောက်, curl sessions အားလုံးကိုပိတ်ပြီးအရင်းအမြစ်များကိုမျှဝေရန်သေချာအောင်လုပ်ပါ။

 curl_close($ch1);
curl_close($ch2);
curl_share_close($share);

နမူနာကုဒ်

Curl_Share_init () function ကို အသုံးပြု. DNS Cache Sharing ကိုမည်သို့အကောင်အထည်ဖော်မည်ကိုပြသသောပြည့်စုံသောဥပမာတစ်ခုရှိသည်။