PHP Development တွင် APCU သည်အလွန်ထိရောက်သောအသုံးပြုသူဒေတာ cache extension ကိုအထူးသဖြင့်ထပ်ခါတလဲလဲတွက်ချက်မှုများကိုမကြာခဏခေါ်ဆောင်သွားသည်။ APCU ကို 0 က်ဘ်ပတ် 0 န်းကျင်တွင်အဓိကအားဖြင့်အသုံးပြုသော်လည်း Command line (cli) mode တွင်သိမ်းဆည်းခြင်းအတွက်အသုံးပြုနိုင်ပြီးအချို့သော configuration နှင့်ကြိုတင်ကာကွယ်မှုများသာလိုအပ်သည်။ ဤဆောင်းပါးသည် CLI ပတ်ဝန်းကျင်တွင်ထိရောက်စွာသိမ်းဆည်းထားရန် APCU_ENTRY () function ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးပြီးအသုံးပြုမှုဥပမာတစ်ခုပေးမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
apcu_entry () သည် cache စစ်ဆင်ရေးများကိုရိုးရှင်းစေရန် APCU extension တွင်ထောက်ပံ့ပေးသောအဆင်ပြေသည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်သော့ချက်အမည်နှင့်အငြင်းပွားမှုများအဖြစ် callback function ကိုလက်ခံသည်။ cache ထဲတွင်သက်ဆိုင်ရာသော့တစ်ခုရှိပါက၎င်းသည်သိုလှောင်ထားသောတန်ဖိုးကိုတိုက်ရိုက်ပြန်ပို့လိမ့်မည်။ မရရှိလျှင်, တန်ဖိုးနှင့် cache ကိုရရှိရန် callback function ကိုကွပ်မျက်ခံရလိမ့်မည်။
Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
mixed apcu_entry(string $key, callable $callback, int $ttl = 0)
$ key : cache key name ။
$ callback : cached content ထုတ်ပေးသော callback function ကို။
$ TTL : Cacheed Surnival Time (ယူနစ်: စက္ကန့်), optional ကို။
ပုံမှန်အားဖြင့် APCU ကို CLI Mode ဖြင့်ပိတ်ထားသည်။ command line တွင် apcu_entry () ကို အသုံးပြုရန် configuration file ကိုပြုပြင်ရန်သို့မဟုတ် command line ပေါ်တွင်အတိအလင်း enable လုပ်ရမည်။
php -d apc.enable_cli=1 your_script.php
သို့မဟုတ် php.ini ကို ပြုပြင်မွမ်းမံခြင်း
apc.enable_cli=1
ကျွန်ုပ်တို့တွင်အလွန်အမင်းစားသုံးသည့်ဒေတာဘေ့စ်စုံစမ်းမှုသို့မဟုတ် API တောင်းဆိုမှုရှိသည်ဆိုပါစို့။
<?php
$key = 'api_data';
$data = apcu_entry($key, function () {
// Simululation Time- စားသုံးစစ်ဆင်ရေး,ဥပမာအားဖြင့်ခေါ်ဆိုပါ https://gitbox.net/api/data
sleep(5); // အဆိုပါစစ်ဆင်ရေးအချိန်ကြာကြောင်းယူဆ5စက်ဏန့်
return file_get_contents('https://gitbox.net/api/data');
}, 60); // သိုကာတာ60စက်ဏန့်
echo $data . PHP_EOL;
?>
ပထမ ဦး ဆုံးအသေသတ်ခြင်းအတွင်းမှာ program သည်အဝေးမှအချက်အလက်များရရှိရန် 5 စက္ကန့်ကိုစောင့်ဆိုင်းလိမ့်မည်။ ဇာတ်ညွှန်းကိုထပ်မံလည်ပတ်သောအခါ၎င်းသည်စက္ကန့် 60 ထက်မကျော်လွန်သရွေ့ရလဒ်သည် cache ကိုတိုက်ရိုက်ဖတ်ပါလိမ့်မည်။
ရှင်သန်မှု၏အချိန် (TTL) : apcu_entry () apcu_entry () သည် TTL setting ကိုထောက်ပံ့သည်။ မသတ်မှတ်ပါကပုံမှန် cache သည်သက်တမ်းကုန်ဆုံးမည်မဟုတ်ဘဲကိုယ်တိုင်ရှင်းလင်းရန်လိုအပ်သည်။
တစ်ပြိုင်တည်းလက်လှမ်းမီမှု - apcu သည် cli scripts များရှိဝက်ဘ်ပတ် 0 န်းကျင်တွင် 0 က်ဘ်ဝန်းကျင်ရှိချည်မျှင်နေသော်လည်း,
ဇွဲအရေးပါမှုဆိုင်ရာပြ issue နာ - Apcu Cache သည်မှတ်ဉာဏ်တွင်နေထိုင်သည်။ CLI ကွပ်မျက်ခံရပြီးနောက်ချက်ချင်းပင် cache ပျောက်ကွယ်သွားလိမ့်မည်မဟုတ်ပါ။ PHP လုပ်ငန်းစဉ်ကိုပြန်လည်စတင်မထားသရွေ့၎င်းသည်ခိုင်လုံသောဖြစ်လိမ့်မည်။ သို့သော်၎င်းသည် Web Mode နှင့်ကွဲပြားခြားနားပြီးကွပ်မျက်မှုပတ်ဝန်းကျင်ပေါ်မူတည်သည်။
apcu_entry () ကျွန်ုပ်တို့သည် caching ယန္တရားကိုအလွန်အဆင်ပြေစွာအကောင်အထည်ဖော်နိုင်ပြီး command-line scripts များတွင်အလွန်အဆင်ပြေစွာအကောင်အထည်ဖော်နိုင်သည်။ CLI Mode APCU Support ကိုဖွင့်ထားပြီးသင့်လျော်သော TTL နှင့် Data Key Name စီမံခန့်ခွဲမှုကိုသင့်လျော်သော TTL နှင့် Data Key Name Management ကိုအလွယ်တကူတည်ဆောက်နိုင်သည်ကိုသေချာအောင်လုပ်ပါ။ ၎င်းသည်အလွန်အကျွံသုံးစွဲနိုင်သည့် optimization နည်းလမ်းများသို့မဟုတ်မကြာခဏပြေးရန်လိုအပ်သည့်အချိန်ကိုက်အလုပ်များအတွက်အလွန်အမင်းအကောင်းဆုံးသောနည်းလမ်းဖြစ်သည်။