လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Refresh Refresh ကိုသေချာစေရန် apcu_entry ၏သက်တမ်းကိုမည်သို့သတ်မှတ်ရမည်နည်း

Refresh Refresh ကိုသေချာစေရန် apcu_entry ၏သက်တမ်းကိုမည်သို့သတ်မှတ်ရမည်နည်း

gitbox 2025-05-26

apcu_entry function သည် apcu extension မှသိမ်းဆည်းထားသောအချက်အလက်များကိုသတ်မှတ်ရန်ထောက်ပံ့ပေးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ apcu_store နှင့် apcu_fatch နှင့်မတူသည်မှာ apcu_entry သည် cache မတည်ရှိသည့်အခါအချက်အလက်များကိုထုတ်လုပ်ရန်အချက်အလက်များကိုအလိုအလျောက်ထုတ်ပေးနိုင်သည်။

function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 mixed apcu_entry ( string $key , callable $callback , int $ttl = 0 )
  • $ key : သိုလှောင်ထားတဲ့သိုလှောင်ထားတဲ့သိုလှောင်ထားတဲ့ cached key,

  • $ callback : cached ဒေတာထုတ်လုပ်ရန်အသုံးပြုသော callback function ကို။ cache မတည်ရှိပါက APCU သည်အချက်အလက်များကိုထုတ်လုပ်ရန် callback function ကို execute လုပ်လိမ့်မည်။

  • $ ttl : cacheed ဒေတာ၏တရားဝင်အချိန် (စက္ကန့်အတွင်း) ။ ပုံသေသည် 0 ဖြစ်သည်။ ဆိုလိုသည်မှာ cache သည်ဘယ်တော့မျှသက်တမ်းကုန်ဆုံးမည်မဟုတ်ဟုဆိုလိုသည်။

2 ။ cache ကိုတရားဝင်အချိန်သတ်မှတ်ပါ

apcu_entry တွင် ttl parameter သည် cache ၏ခိုင်လုံသောအချိန်ကိုသတ်မှတ်ရန်အသုံးပြုသည်။ တရားဝင်မှုအချိန်ကုန်ပြီးနောက် cache သည်သက်တမ်းကုန်ဆုံးပြီး Apcu သည်သိုလှောင်ထားသောအချက်အလက်များကိုပြန်လည်ထုတ်လုပ်လိမ့်မည်။ ttl ကို ကျိုးကြောင်းဆီလျော်စွာသတ်မှတ်ခြင်းအားဖြင့်သိမ်းဆည်းထားသောအချက်အလက်များကိုအချိန်တိုအတွင်းအဆင့်မြှင့်တင်ပြီး cache သက်တမ်းကုန်ဆုံးခြင်းကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုရှောင်ရှားနိုင်သည်။

ဥပမာ -

ကျွန်ုပ်တို့တွင်ဒေတာဘေ့စ်စုံစမ်းမှုရလဒ်ရှိသည်ဆိုပါစို့။ အောက်ဖော်ပြပါအတိုင်း cache ၏တရားဝင်ချိန်ကိုသတ်မှတ်ရန် Apcu_entry ကို သုံးနိုင်သည်။

 <?php
// ဤသည်ဒေတာဗေ့စ်ကိုမေးမြန်းသော function ကိုဆိုပါစို့
function fetchDataFromDatabase() {
    // ဒေတာဘေ့စတစ်ခုမှဒေတာများကိုရယူခြင်း
    return "This is the data fetched from the database!";
}

// အသုံးပြု apcu_entry cache စုံစမ်းမှုရလဒ်များ,နှင့် cache ကိုတရားဝင်အချိန်သတ်မှတ်ထား 5 မိနစ်
$data = apcu_entry('database_data', 'fetchDataFromDatabase', 300);

// output ကို cache သို့မဟုတ်ဒေတာဘေ့စစုံစမ်းမှုရလဒ်များ
echo $data;
?>

ဒီဥပမာမှာ apcu_entry လို့ခေါ်တဲ့အခါမှာ Database_Data ' လို့ခေါ်တဲ့အချက်အလက်မရှိဘူးဆိုရင် APCU က FetterDatafromdatabase function ကို 5 မိနစ်ကြာပြီးနောက် 5 မိနစ်လောက်ရမယ်။ အကယ်. cache ကို 5 မိနစ်အတွင်းထပ်မံတောင်းခံပါက APCU သည်သိုလှောင်ထားသည့်အချက်အလက်များကိုတိုက်ရိုက်ပြန်ပို့လိမ့်မည်။

3 ။ အချိန်အတွက် cache ကို refresh

အချို့ဖြစ်ရပ်များတွင်အချက်အလက်အပြောင်းအလဲများသည် cache ၏သက်တမ်းကုန်ဆုံးသည့်နေ့နှင့်မကိုက်ညီပါ။ သိုလှောင်ထားသည့်ဒေတာများသည်အမြဲတမ်းခေတ်မီပြီးတိုင်းပရိုဂရမ်ကိုအားနည်းစေနိုင်သည်။ ၎င်းသည် apcu_delete ကို သင့်တော်သောအချိန်တွင်ခေါ်ဆိုခြင်းဖြင့် cache ကိုဖျက်ပစ်ပြီး apcu_entry မှတဆင့် cache ကိုပြန်လည်ရှင်သန်စေသည်။

ဥပမာ - cache ကိုလက်ဖြင့်ပြန်လည်လန်းပါ

 <?php
// ကျနော်တို့ cache ကို refresh ဖို့လိုအပ်ပါတယ်ဆိုပါစို့
if (someConditionToRefreshCache()) {
    // အဟောင်းကိုသိုလှောင်ထားသောဒေတာကိုဖျက်ပါ
    apcu_delete('database_data');
}

// ထို့နောက် carded ဒေတာကိုပြန်လည်
$data = apcu_entry('database_data', 'fetchDataFromDatabase', 300);

// output ကို cache သို့မဟုတ်ဒေတာဘေ့စစုံစမ်းမှုရလဒ်များ
echo $data;
?>

ဤဥပမာတွင်အခြေအနေတစ်ခုနှင့်တွေ့ဆုံသည့်အခါသာ cache ကိုလက်တွေ့ကျကျလန်းဆန်းစေလိမ့်မည်။ ဤသည်မှာသိမ်းဆည်းထားသောအကြောင်းအရာများကိုအချိန်မီမွမ်းမံရန်သေချာစေရန်မဟာဗျူဟာဖြစ်သည်။

4 ။ မှတ်စုများ

  • cache သက်တမ်းကုန်ဆုံးချိန်ကိုရွေးချယ်ခြင်း - သင့်လျော်သော cache သက်တမ်းကုန်ဆုံးချိန်ကိုသတ်မှတ်ရန်အလွန်အရေးကြီးသည်။ ချိန်ညှိချိန်သည်ကြာလွန်းလျှင်အချက်အလက်များကိုအချိန်ကြာမြင့်စွာမွမ်းမံနိုင်ပါ။ အကယ်. ချိန်ညှိချက်သည်တိုလွန်းပါက cache ကိုမကြာခဏပြန်လည်ထုတ်လုပ်နိုင်ပြီးစွမ်းဆောင်ရည်ဆုံးရှုံးမှုများဖြစ်ပေါ်လာသည်။

  • Thread Source : Apcu_entry ကိုယ်တိုင်သည်ချည်မျှင်ဖြစ်သည်။ သို့သော်မြင့်မားသောတစ်ပြိုင်နက်တည်းကပတ် 0 န်းကျင်တွင် callback function ကိုဘေးကင်းစွာကွပ်မျက်ရန်သေချာစေရန်အလွန်အရေးကြီးသည်။