လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> CLI ပတ်ဝန်းကျင်တွင် cache အတွက် apcu_entry ကိုအသုံးပြုနည်း

CLI ပတ်ဝန်းကျင်တွင် cache အတွက် apcu_entry ကိုအသုံးပြုနည်း

gitbox 2025-05-18

PHP Development တွင် APCU သည်အလွန်ထိရောက်သောအသုံးပြုသူဒေတာ cache extension ကိုအထူးသဖြင့်ထပ်ခါတလဲလဲတွက်ချက်မှုများကိုမကြာခဏခေါ်ဆောင်သွားသည်။ APCU ကို 0 က်ဘ်ပတ် 0 န်းကျင်တွင်အဓိကအားဖြင့်အသုံးပြုသော်လည်း Command line (cli) mode တွင်သိမ်းဆည်းခြင်းအတွက်အသုံးပြုနိုင်ပြီးအချို့သော configuration နှင့်ကြိုတင်ကာကွယ်မှုများသာလိုအပ်သည်။ ဤဆောင်းပါးသည် CLI ပတ်ဝန်းကျင်တွင်ထိရောက်စွာသိမ်းဆည်းထားရန် APCU_ENTRY () function ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးပြီးအသုံးပြုမှုဥပမာတစ်ခုပေးမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

apcu_entry () ?

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 ကို။

CLI MODE အတွက် Apcu Support ကိုဖွင့်ပါ

ပုံမှန်အားဖြင့် 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

ဥပမာ - အချိန်ကုန်သောစစ်ဆင်ရေးများ၏ရလဒ်များကို cache

ကျွန်ုပ်တို့တွင်အလွန်အမင်းစားသုံးသည့်ဒေတာဘေ့စ်စုံစမ်းမှုသို့မဟုတ် 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 ကိုတိုက်ရိုက်ဖတ်ပါလိမ့်မည်။

မှတ်သားရန်အရာ

  1. ရှင်သန်မှု၏အချိန် (TTL) : apcu_entry () apcu_entry () သည် TTL setting ကိုထောက်ပံ့သည်။ မသတ်မှတ်ပါကပုံမှန် cache သည်သက်တမ်းကုန်ဆုံးမည်မဟုတ်ဘဲကိုယ်တိုင်ရှင်းလင်းရန်လိုအပ်သည်။

  2. တစ်ပြိုင်တည်းလက်လှမ်းမီမှု - apcu သည် cli scripts များရှိဝက်ဘ်ပတ် 0 န်းကျင်တွင် 0 က်ဘ်ဝန်းကျင်ရှိချည်မျှင်နေသော်လည်း,

  3. ဇွဲအရေးပါမှုဆိုင်ရာပြ 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 နည်းလမ်းများသို့မဟုတ်မကြာခဏပြေးရန်လိုအပ်သည့်အချိန်ကိုက်အလုပ်များအတွက်အလွန်အမင်းအကောင်းဆုံးသောနည်းလမ်းဖြစ်သည်။