PHCU Cache extension ကိုအသုံးပြုသောအခါ developer များသည် APCU_ENTRY () နှင့် apcu_add () နှင့် apcu_add () နှင့်ဆက်သွယ်မှုနှစ်ခုနှင့်အဆက်အသွယ်ရှိကြသည်။ ၎င်းတို့အား၎င်းတို့အားလုံးသည်ဒေတာများကို cache ထဲသို့ရေးရန်အသုံးပြုသည်။ သို့သော်အပြုအမူနှင့်သက်ဆိုင်သည့်အခြေအနေများတွင်သိသာထင်ရှားမှုမရှိ။ ဤဆောင်းပါးသည်အကောင်အထည်ဖော်မှုဆိုင်ရာအခြေခံမူများ, အသုံးပြုမှုအခြေအနေများနှင့်စွမ်းဆောင်ရည်များမှအမြင်များမှနှစ် ဦး အကြားကွဲပြားခြားနားမှုများကိုခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
apcu_add (string $ key, ရောနှောထားသော $ var, int $ ttl = 0): bool
ဤလုပ်ဆောင်ချက်သည် cache အတွက်တန်ဖိုးတစ်ခုထပ်ဖြည့်သည်။ သတ်မှတ်ထားသော $ သော့ ရှိပြီးပါကဖြ ည့် စွက်ခြင်း, ဆိုလိုသည်မှာ apcu_add () သည် "တစ်ကြိမ်သာ" တစ်ချိန်တည်းတွင်သာထည့်သွင်းခြင်းသို့မဟုတ်ရှောင်ရှားရန်လိုအပ်သည့်စကိတ်သို့မဟုတ်အခြေအနေများအတွက်အသုံးပြုသည်။
apcu_entry (string $ key, callable $ generator, int $ ttl = 0): ရောထွေး
ဒီ function ကို cache မှ $ key နှင့်သက်ဆိုင်သောတန်ဖိုးကိုရယူရန်ကြိုးစားလိမ့်မည်။ အကယ်. သော့မတည်ရှိပါက ဒေါ်လာထုတ်လုပ်ရန် callback function ကိုအချက်အလက်များကိုထုတ်လုပ်ရန်နှင့် cache ကိုရေးရန်ဖြစ်သည်။ ၎င်း၏ပုံမှန်ရည်ရွယ်ချက်မှာထပ်ခါတလဲလဲစျေးကြီးသောစစ်ဆင်ရေးများကိုရှောင်ရှားရန် "ပျင်းရိ" ဇာတ်လမ်းများဖြစ်သည်။
သော့ရှိမရှိ,
apcu_add () သည်အက်တမ်ဖြစ်ပြီး, သော့သည်တိုက်ရိုက်ထည့်သွင်းရန်နှင့်ပြန်လည်ထည့်သွင်းရန်ကြိုးစားပြီးဖတ်ရှုခြင်းများကိုရှောင်ကြဉ်ပါ။
apcu_entry () က လွဲမှားစွာဖတ်ရန်ပထမ ဦး ဆုံးဖတ်ရန်, ထို့နောက်ဒေတာထုတ်လုပ်ရန်နှင့်၎င်းကိုရေးရန်ကြိုးစားပါ။ ၎င်းသည်တစ်ပြိုင်နက်တည်းကထပ်ခါတလဲလဲတွက်ချက်မှုများဖြစ်ပေါ်နိုင်သည် (အမှန်တကယ်ဖြစ်ပျက်မှု၏ဖြစ်နိုင်ခြေနိမ့်သည်) ။
ရေးပါ
APCU_ADD () သည် လက်ရှိတန်ဖိုးကိုမည်သည့်အခါမျှ ထပ်. ရေးဆွဲမည်မဟုတ်ပါ။
apcu_entry () cache မတည်ရှိသည့်အခါအလိုအလျောက်တွက်ချက်ခြင်းနှင့်ရေးသားခြင်းသည်ပျင်းရိသောတင်ရန်သင့်တော်သည်။
ရိုးရိုးရှင်းရှင်း:
apcu_entry () ရှင်းလင်းသော encapsulation ပြုလုပ်ခြင်းဖွဲ့စည်းပုံကိုပြသထားပြီး Code of Cache ဖတ် + generation logic ကိုပိုမိုရှင်းလင်းသော semantics ဖြင့်ဝင်ရောက်ယှဉ်ဆွယ်သောအခါ။
Apcu_add () သည် developer ကိုစာဖတ်ခြင်းနှင့်တရားစီရင်ခြင်းယုတ္တိဗေဒကိုကိုယ်တိုင်ရေးသားရန်လိုအပ်သည်။
$config = [
'site_name' => 'GitBox',
'max_upload' => 100
];
$key = 'site_config';
if (!apcu_add($key, $config, 3600)) {
// ရှိပြီးသားရှိပြီးသား,ကုသမှုမပြုလုပ်ပါ
}
ဖြန့်ကျက်ခြင်းသို့မဟုတ်စတင်ခြင်းအဆင့်တွင်ရေးသားထားသော configuration data များအတွက်သင့်တော်သည်။
$data = apcu_entry('user_list', function() {
// ဒီ function ကိုဒေတာဗေ့စ်ကိုမေးမြန်းပါ
return file_get_contents('https://gitbox.net/api/users');
}, 600);
user_list သည် ဒေတာများရရှိသည်နှင့်မတည်ရှိသည့်အခါ access API မှတဆင့်က cache ကမကြာခဏဖတ်တတ်လျှင်,
မျက်နှာမ | apcu_add ကိုသုံးပါ။ | apcu_entry ကိုသုံးပါ () |
---|---|---|
ချိန်ညှိချက်များစတင်ပါ | ? | ? |
လွှမ်းခြုံခြင်းကိုရှောင်ပါ | ? | ? |
အလိုအလျောက်ထုတ်လုပ်လိုက်တဲ့ | ? | ? |
ပျင်းရိခြင်း | ? | ? |
cache ကိုယုတ္တိဗေဒရိုးရှင်းပါ | ? | ? |
apcu_entry () အဆင်ပြေသော်လည်းတစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းပတ်ဝန်းကျင်တွင်၎င်း၏ပြည်တွင်းရေးယုတ္တိဗေဒသည်မကိုက်ညီပါ။ Process Process များသည်တစ်ပြိုင်နက်တည်းသော့သည်အချက်အလက်များမတည်ရှိခြင်းနှင့်ထုတ်လုပ်ခြင်းမရှိသေးကြောင်းဆုံးဖြတ်နိုင်သည်။ ထို့ကြောင့်, callback သည်စျေးကြီးသည်သို့မဟုတ်ရလဒ်သည်ထူးခြားသည်ဖြစ်စေ, သော့ခတ်ရေးယန္တရားကိုထည့်ရန်သို့မဟုတ် apcu_add () ကို သုံးရန်အကြံပြုသည်။
$key = 'report_2025';
if (!apcu_add($key, true, 300)) {
// အဆိုပါတာဝန်အခြားလုပ်ငန်းစဉ်၌ကွပ်မျက်ခံရသည်
return;
}
generateExpensiveReport(); // ရုံတစ်ကြိမ် execute
apcu_add ကို သုံး. တစ်ကြိမ်သာရေးသားလိုပါကအကောင်းဆုံးရွေးချယ်မှုဖြစ်သည်။
apcu_entry () ကိုအသုံးပြုခြင်း () သည်တွက်ချက်မှုများမှရလာဒ်များကိုအလိုအလျောက်ရရန်နှင့် cache ကိုရယူရန်ပိုမိုထိရောက်သောနည်းလမ်းဖြစ်သည်။
ခြားနားချက်ကိုနားလည်ခြင်းသည်သင့်အား PHP ၏ cache logic ကိုပိုမိုပြင်ဆင်ရန်ခွင့်ပြုလိမ့်မည်။