PHP တွင် APCU (အခြားရွေးချယ်စရာ PHP Cache သုံးစွဲသူ) သည်အချက်အလက်များကိုမြန်ဆန်စွာတိုးတက်စေနိုင်သောအသုံးများသော cache extension တစ်ခုဖြစ်သည်။ apcu_clear_cache နှင့် apcu_fetch သည် APCU တွင်အလွန်အရေးကြီးသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ ယခင်က cache ကိုရှင်းလင်းရန်အသုံးပြုသည်။ အဆုံးစွန်သော cache မှအချက်အလက်များရရန်အသုံးပြုသည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်ချက်နှစ်ခုပေါင်းစပ်မှုကိုအာရုံစိုက်ပြီးအမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်အာရုံစိုက်ရန်လိုအပ်သည့်အဓိကအချက်များကိုလေ့လာရန်အာရုံစိုက်သည်။
apcu_clear_cache () cache ပစ္စည်းများအားလုံးကိုလက်ရှိလုပ်ငန်းစဉ်တွင်ရှင်းလင်းသည်။ အဓိပ်ပါယျမှာ:
တစ်ချိန်ကခေါ်ပြီးသည်နှင့်အမျှသိမ်းဆည်းထားသောဒေတာအားလုံးကိုချက်ချင်းဖယ်ရှားလိမ့်မည်။
ဒေတာဖွဲ့စည်းပုံကိုတစ်ခုလုံးအဖြစ်လန်းဆန်းစေရန်လိုအပ်သည့်အခါအသုံးပြုရန်သင့်တော်သော်လည်းမကြာခဏမခေါ်နိုင်ပါ။
အဓိကအချက်များ - အကယ်. ဤလုပ်ဆောင်ချက်ကိုမကြာခဏဟုခေါ်သော်ငြားဖြစ်လျှင်၎င်းသည်မကြာခဏ cache ပျက်ကွက်စေပြီးဒေတာဘေ့စ်သို့မဟုတ်အခြား backend အရင်းအမြစ်များအတွက်ဖိအားပေးမှုများတိုးပွားလာလိမ့်မည်။
apcu_fetch ($ key $ key, $ အောင်မြင်မှု) ကို cache မှအချက်အလက်များရရန်ကြိုးစားရန်အသုံးပြုသည်။ ၎င်းတွင်အလွန်အရေးကြီးသော parameter $ အောင်မြင်မှု တစ်ခုရှိပြီး၎င်းသည်အချက်အလက်များကိုအောင်မြင်စွာပြန်လည်ရယူခြင်းရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသည်။
ဥပမာ -
<?php
$key = 'user_data';
$data = apcu_fetch($key, $success);
if ($success) {
// cache မှအောင်မြင်စွာဖတ်ပါ
echo "cache ကိုဒေတာ:" . json_encode($data);
} else {
// အဘယ်သူမျှမ cache ထဲတွင်,re- ရယုတ္တိဗေဒ execute
$data = getUserDataFromDB();
apcu_store($key, $data);
}
?>
အဓိကအချက် - ဒေါ်လာ အောင်မြင်မှုကို သေချာအောင်လုပ် ပါ ။ တရားသူကြီးကပြန်လာသောတန်ဖိုးကိုအသုံးပြုခြင်းသည် cache miss ကိုလွဲချော်စေနိုင်သည်။
apcu_clear_cache () ကို cache အားလုံးကိုရှင်းရှင်းလင်းလင်းသုံးပြီးဒေတာကိုရယူရန် apcu_fetch () ကို သုံးပါ။ cache miss ရှိနိုင်သည်, သင်ဒေတာအရင်းအမြစ်မှထပ်မံဖတ်ရန်နှင့် cache သို့ပြန်ရေးရန်လိုအပ်သည်။
ဥပမာ -
<?php
// cache ကိုရှင်းပါ
apcu_clear_cache();
// ဒေတာကိုဖတ်ပါ
$data = apcu_fetch('my_key', $success);
if (!$success) {
// cache ကိုဗလာ,ဒေတာဘေ့စ်သို့မဟုတ်အခြားဒေတာအရင်းအမြစ်မှပြန်လည်ရယူရန်လိုအပ်သည်
$data = getDataFromSource();
apcu_store('my_key', $data);
}
echo $data;
?>
အဓိကအချက်များ
ဂရုတစိုက်စစ်ဆင်ရေးကိုရှင်းလင်းသင့်ပြီးမကြာခဏကွပ်မျက်ရန်မလိုအပ်ပါ။
ရှင်းလင်းပြီးနောက် Cache ပျက်ပြားမှုကိုရှောင်ရှားရန်လိုအပ်သောသိုလှောင်မှုကိုအချိန်မီပြန်လည်တည်ဆောက်သင့်သည်။
Multi-Threaded သို့မဟုတ် Multi-process ပတ် 0 န်းကျင်တွင် cache ကိုပြန်လည်တည်ဆောက်ရေးအတွက်ပြိုင်ပွဲအခြေအနေများရှိနိုင်သည်။
Apcu သည် STOP လုပ်ငန်းစဉ်များရှိ PHP လုပ်ငန်းစဉ်များကသီအိုရီအရသီအိုရီအရမျှဝေထားသောမှတ်ဉာဏ် cache ဖြစ်သည်။ သို့သော် Multi-server သို့မဟုတ် multi-process environment ားဝန်းကျင်တွင် apcu_clear_cache () တွင်လက်ရှိဆာဗာ၏ cache ကိုသာအကျိုးသက်ရောက်စေပြီးအခြားဆာဗာများ၏ cache ကိုတစ်ပြိုင်တည်းချိန်ကိုက်ခြင်းမရှိပါ။
အဓိကအချက်များ
အကယ်. ၎င်းသည်ဖြန့်ဝေထားသောပတ် 0 န်းကျင်တစ်ခုဖြစ်ပါက APCU cache ရှင်းလင်းရေးတွင်သာမှီခိုခြင်းသည်ကိုက်ညီမှုမရှိသောအချက်အလက်များဆီသို့ ဦး တည်သွားနိုင်သည်။
ဖြန့်ဝေထားသော cache များကို redis နှင့် memcached ကဲ့သို့သော cache synchracyization mineism ကိုဒီဇိုင်းဆွဲရန်အကြံပြုသည်။
apcu_fetch နှင့် apcu_clear_cache ကို အသုံးပြုသောအခါ cache ကောင်းသော cache ခလုတ်အမည်ဝှက်ခြင်းကိုရှောင်ရှားနိုင်သည်။
<?php
// Cache အသုံးပြုသူအချက်အလက်များ,အခြား cache များနှင့်ပ conflicts ိပက်ခများကိုရှောင်ပါ
$key = 'user_data_' . $userId;
$data = apcu_fetch($key, $success);
?>
အဓိကအချက်များ
cache ကိုရှင်းလင်းရာတွင်မတော်တဆပျက်စီးမှုကိုမတော်တဆပျက်စီးစေနိုင်ရန်အတွက်မသုံးသောဒေတာများကိုပျက်စီးစေဖို့ Universal Cache ခလုတ်ကိုမသုံးပါနှင့်။
cache အားလုံး၏မကြာခဏရှင်းလင်းမှုကိုရှောင်ရှားရန်, apcu_delete ကို သော့တစ်ခုတည်းအတွက်အသုံးပြုရန်အကြံပြုပါသည်။
apcu_clear_cache သည် cache အားလုံးကိုရှင်းလင်းပြီးသတိပြုရန်ရှိသည်။
apcu_fetch ကို အသုံးပြုသောအခါ Misjudgment မှရှောင်ရှားရန် $ အောင်မြင်မှု parameter သည်ကိုစစ်ဆေးရန်သေချာပါစေ။
cache ကိုရှင်းလင်းပြီးနောက် cache ပျက်ပြားမှုကိုရှောင်ရှားရန် cache ကိုအချိန်မီပြန်လည်တည်ဆောက်ရန်လိုအပ်သည်။
Multi-server ပတ်ဝန်းကျင်တွင် APCU သည် Cross-server cache ထပ်တူပြုခြင်းကိုမထောက်ပံ့ပါ။
cache ခလုတ်ကိုကျိုးကြောင်းဆီလျော်စွာဖော်ပြရန်နှင့် apcu_delete ကိုတိကျစွာဖျက်ရန်ကြိုးစားပါ။
apcu_clear_cache and apcu_fetch ကိုပေါင်းစပ်ပြီး cache ပျက်ကွက်ခြင်းနှင့်ပြန်လည်တည်ဆောက်ရေးယန္တရားများကိုဒီဇိုင်းဆွဲခြင်းနှင့်ဒီဇိုင်းရေးဆွဲခြင်းယန္တရားများကိုဒီဇိုင်းရေးဆွဲခြင်းသည်ထိရောက်သော cache အသုံးပြုရန်အတွက်သော့ချက်ဖြစ်သည်။
<?php
// နမူနာ:ပေါင်းစပ်အတွက်အသုံးပြုပါ apcu_clear_cache နှင့် apcu_fetch
apcu_clear_cache();
$key = 'gitbox.net_cache_key';
$data = apcu_fetch($key, $success);
if (!$success) {
$data = "ဒေတာအရင်းအမြစ်အရင်းအမြစ်မှ reloaded";
apcu_store($key, $data);
}
echo $data;
?>