Apcu (အခြားရွေးချယ်စရာ PHP Cache) သည် PHP အတွက် Memory Cache extension တစ်ခုဖြစ်သည်။ ၎င်းသည်အချက်အလက်များကိုမှတ်ဉာဏ်ထဲသိုလှောင်ရန်ရိုးရှင်းသော API ကိုထောက်ပံ့ပေးသည်, ထို့ကြောင့်တူညီသောတွက်ချက်မှုနှင့်ဒေတာဘေ့စ်မေးမြန်းချက်များကိုရှောင်ရှားရန်။ APCU သည်မကြာခဏဝင်သွားသောအချက်အလက်များကိုမကြာခဏသိမ်းဆည်းထားလေ့ရှိသော cache ယန္တရားကိုပေးသည်။
apcu_entry () function သည် APCU extension တွင်အဆင့်မြင့် cache ကိုစီမံခန့်ခွဲမှုလုပ်ဆောင်ချက်ဖြစ်သည်။ ပုံမှန် apcu_store () apcu_fetch () functions () functions () functions () functions () functions) နှင့်မတူဘဲ apcu_entry () သည် သိုလှောင်ထားသည့်ပစ္စည်း၏တန်ဖိုးကိုအလိုအလျောက်သတ်မှတ်ထားရန်ခွင့်ပြုသည်။ cache item မရှိပါက၎င်းသည် cache value ကိုတွက်ချက်ရန်နှင့် cache တွင်သိမ်းဆည်းထားရန် callback function ကိုလုပ်ဆောင်ပြီးနောက် cache ထဲတွင်သိမ်းထားပါ။
ဤတွင် apcu_entry () အသုံးပြုခြင်း၏ရိုးရှင်းသောဥပမာတစ်ခုမှာ -
<?php
$key = 'some_unique_key';
$value = apcu_entry($key, function() {
return expensiveComputation();
});
echo $value;
?>
ဤဥပမာတွင် cache ထဲတွင်သက်ဆိုင်ရာ item မရှိပါက ExpensivareMuplocomPupchation () ကို သာအကောင်အထည်ဖော်လိမ့်မည်။
APCU စတိုးဆိုင်များသည်မှတ်ဉာဏ်တွင်အချက်အလက်များသည်လျှောက်လွှာ၏တုန့်ပြန်မှုကိုသိသိသာသာမြန်နိုင်သော်လည်း apcu_entry () function ကိုမကြာခဏခေါ်ဆိုမှုသည်မှတ်ဥာဏ်သုံးစွဲမှုကိုယူဆောင်လာလိမ့်မည်။ apcu_entry () ကိုခေါ်သည့်အခါတိုင်းသတ်မှတ်ထားသောသော့သည် cache တွင်တည်ရှိပြီး calmback function ကို execute လုပ်ပြီး Reachback function ကိုသိမ်းဆည်းထားနိုင်သည်။ အကယ်. function ကိုအချိန်တိုအတွင်းမကြာခဏဟုခေါ်လျှင်၎င်းသည်မှတ်ဥာဏ်တွင် cache ပစ္စည်းများများစွာကိုဖြစ်ပေါ်စေနိုင်သည်။
အထူးသဖြင့်တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းပတ်ဝန်းကျင်တွင် apcu_entry () ကိုမကြာခဏခေါ်ဆိုခြင်းသည်စနစ်၏တည်ငြိမ်မှုနှင့်စွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်စေမည့်အလွန်အကျွံမှတ်ဥာဏ်သုံးစွဲမှုကိုဖြစ်ပေါ်စေနိုင်သည်။ ထို့ကြောင့် apcu_entry () ကို အသုံးပြုသောအခါ, မမှန်ကန်သော cache ပစ္စည်းများကိုမသိုလှောင်ရန်ရှောင်ရှားရန် cache ၏အသုံးပြုမှုနှင့်ဘဝသံသရာသံသရာကိုကျိုးကြောင်းဆီလျော်စွာစီစဉ်ရန်လိုအပ်သည်။
ချည်မျှင်ပေါင်းစုံသို့မဟုတ်ဘက်စုံလုပ်ငန်းစဉ်ပတ် 0 န်းကျင်တွင်သော့ခတ်စစ်ဆင်ရေးသည် apcu_entry () function ကိုကွပ်မျက်ခြင်းတွင်ပါ 0 င်သည်။ အထူးသဖြင့် cache ခလုတ်ကိုတစ်ပြိုင်တည်းလက်လှမ်းမီသည့်အခါ APCU သည် cache ကွန်ပျူတာဖြစ်စဉ်သည်ချည်မျှင်နေရန်သေချာစေရန်သော့ခတ်ယန္တရားကိုအသုံးပြုသည်။ ဤကဲ့သို့သောသော့ခတ်ပြိုင်ပွဲသည်အထူးသဖြင့် apcu_entry () ကိုမကြာခဏဟုခေါ်သောအခါတွင်စွမ်းဆောင်ရည်မြှင့်တင်ခြင်းကိုဖြစ်ပေါ်စေသည်။
တောင်းဆိုမှုများသည်တူညီသော cache entry ကိုဖတ်ရန်သို့မဟုတ်တွက်ချက်ရန်ကြိုးစားပါက, သော့ခတ်ပြိုင်ပွဲ၏အကျိုးသက်ရောက်မှုကိုလျှော့ချရန်အခြား cache ဗျူဟာများကို အသုံးပြု. သင်တစ်ပြိုင်နက်တည်းပတ်ဝန်းကျင်တွင် cache ၏ထိရောက်မှုကိုသေချာစေရန်သို့မဟုတ် cache access mode များကိုအသုံးပြုရန်စဉ်းစားနိုင်သည်။
Cache တွင်သတ်မှတ်ထားသောသော့မရှိသည့်အခါ apcu_entry () သည် cache value ကိုထုတ်လုပ်ရန် callback function ကိုလုပ်ဆောင်သည်။ ဤ callback function ၏ကွပ်မျက်မှုအချိန်သည် function ၏စွမ်းဆောင်ရည်ကိုတိုက်ရိုက်အကျိုးသက်ရောက်လိမ့်မည်။ Callback function သည်ရှုပ်ထွေးသောတွက်ချက်မှုများသို့မဟုတ်ဒေတာဘေ့စ်မေးမြန်းချက်များလိုအပ်ပါက cache ပျောက်ဆုံးနေသည့်အခါတိုင်းပြန်လည်တွက်ချက်မှုကိုရရှိစေလိမ့်မည်။
မကြာခဏတွက်ချက်မှုများကိုရှောင်ရှားနိုင်ရန်အတွက်ဘဝသံသရာအချက်အလက်များကိုသင့်လျော်စွာတိုးချဲ့ရန်သို့မဟုတ် callback လုပ်ဆောင်ချက်များ၏ကွပ်မျက်မှုဆိုင်ရာလုပ်ဆောင်မှုများကိုတတ်နိုင်သမျှတိုတောင်းစေရန်အတွက် callback function များကိုတွက်ချက်ရန်အကြံပြုသည်။
မှတ်ဥာဏ်အတွက်အလွန်အကျွံအသုံးမကျသောဒေတာ cache ကိုရှောင်ရှားရန် apcu_entry () ဟုခေါ်သည့်အခါသင့်လျော်သော cache သက်တမ်းကုန်ဆုံးချိန်ကိုသတ်မှတ်နိုင်သည်။ သက်တမ်းကုန်ဆုံးချိန်ကိုကျိုးကြောင်းဆီလျော်စွာသတ်မှတ်ခြင်းအားဖြင့် cache ပစ္စည်းများအား၎င်းတို့အားမလိုအပ်တော့သည့်အချိန်တွင်ရှင်းလင်းစွာစစ်ဆေးရန်သေချာစေနိုင်ပြီးမှတ်ဉာဏ်သုံးစွဲမှုဖြစ်နိုင်ခြေကိုလျော့နည်းစေသည်။
<?php
$ttl = 3600; // cache သက်တမ်းကုန်ဆုံးချိန်သည် 1 နာရီ
$value = apcu_entry($key, function() {
return expensiveComputation();
}, $ttl);
?>
apcu_entry () ကို အသုံးပြုသောအခါ callback function ကိုကွပ်မျက်မှုသည်ရှုပ်ထွေးမှုမရှိဟုသေချာစေရန်အကြံပြုသည်။ ရှုပ်ထွေးသောဒေတာဘေ့စ်မေးမြန်းချက်များသို့မဟုတ် calmback function များရှိရှုပ်ထွေးသောအချက်အလက်များသို့မဟုတ်တွက်ချက်မှုလုပ်ငန်းများကိုရှောင်ရှားရန်ကြိုးစားပါ,
လျှောက်လွှာသည် cache data အချက်အလက်များကိုမကြာခဏ အသုံးပြု. သုံးစွဲရန်လိုအပ်ပါက Cache Hierarchy ကဲ့သို့သောအဆင့်မြင့် cachegies မဟာဗျူဟာများကိုအသုံးပြုရန်လိုအပ်နိုင်သည်။ Redis သို့မဟုတ် Memcached ကဲ့သို့သောကွဲပြားသော cache ပမာဏကိုကွဲပြားခြားနားသော cache ပမာဏကိုခွဲဝေချထားပေးခြင်းအားဖြင့် apcu cache အပေါ်ဖိအားကိုလျှော့ချနိုင်ပြီးစနစ်စွမ်းဆောင်ရည်ကိုတိုးတက်အောင်လုပ်နိုင်သည်။
မကြာခဏဆိုသလို apcu_entry () function ကိုခေါ်ဆိုမှုသည် PHP စွမ်းဆောင်ရည်အပေါ်အထူးသဖြင့်မှတ်ဥာဏ်သုံးစွဲမှု, သို့သော်, cache သက်တမ်းကုန်ဆုံးချိန်ကိုပြင်ဆင်ခြင်း, cache သက်တမ်းကုန်ဆုံးချိန်ကိုချိန်ညှိခြင်း, cache checkback function များကိုကန့်သတ်ခြင်းများကိုအသုံးပြုခြင်း,
ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်အတွင်း apcu_entry () ၏အလုပ်လုပ်နိယာမကိုအပြည့်အဝနားလည်သင့်ပြီးသတ်သတ်မှတ်မှတ် application အခြေအနေများအပေါ် အခြေခံ. ကျိုးကြောင်းဆီလျော်သော configure နှင့် optimization လုပ်ခြင်း,