မျက်မှောက်ခေတ် Web Development တွင်နှောင့်နှေးအလုပ်အပြောင်းအလဲသည်အလွန်အသုံးများသောလိုအပ်ချက်ဖြစ်သည်။ ထိရောက်သော In-Memory Database တစ်ခုအနေဖြင့် Redis သည်စွမ်းဆောင်ရည်ရှိသည့် latency task system များကိုအလွယ်တကူအကောင်အထည်ဖော်ရန်ခွင့်ပြုထားသောအားကောင်းသော subscription / ထုတ်လွှင့်ရေးယန္တရားကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် MPP တွင် Redis ၏ Subscription ယန္တရားကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
မစတင်မီကျွန်ုပ်တို့သည်အခြေခံသဘောတရားအချို့ကိုနားလည်ရန်လိုအပ်သည်။
မက်ဆေ့ခ်ျကိုစာရင်းသွင်းခြင်းအတွက် Redis ကိုမစတင်မှီ PHP တွင် PHP တွင် Redis extension ကိုသေချာအောင်ပြုလုပ်ရန်လိုအပ်သည်။ အောက်ပါ command ကို သုံး. ၎င်းကို install လုပ်နိုင်သည်။
$ pecl redis ကို install လုပ်ပါ
ထို့နောက်ကျွန်ုပ်တို့သည်အဆင့်ဆင့်ကိုအဆင့်ဆင့်အကောင်အထည်ဖော်ရန်နှင့်နှောင့်နှေးသောအလုပ်များကိုကိုင်တွယ်ရန်မည်သို့ဆက်လက်နားထောင်ရမည်နည်း။
ပထမ ဦး စွာ, သင် Redis ဆာဗာနှင့်ချိတ်ဆက်ရန်လိုအပ်သည်, ဤတွင်ဆက်သွယ်မှုကုဒ်ဖြစ်သည်။
<?php $redis = new Redis(); $redis->ချိတ်ဆက်မှု ('127.0.0.1.1', 6379,
ထို့နောက်သင်သည်နှောင့်နှေးသောအလုပ်ကို redis သို့ထုတ်ဝေရန်လိုအပ်သည်။ ဤနေရာတွင်လုပ်ငန်းတာဝန်ကိုတင်ရန်ကုဒ်ဖြစ်သည်။
<?php // အလုပ်ဒေတာကိုသတ်မှတ်ပါ $taskData = [ 'taskId' => 1, 'TaskName' => 'Day Day Task Sign', // ... အခြားနယ်ပယ်များ]; <p>// အလုပ်၏ခလုတ်အချိန်ကိုတွက်ချက်ပါ (လက်ရှိအချိန်တွင်စက္ကန့် 60 လျှင်)<br> $ triggertime = အချိန် () + 60;</p> <p>// JSON format ဖြင့်အလုပ်ဒေတာကို Serialize လုပ်ပါ။ ၎င်းကိုသတ်မှတ်ထားသော Channel သို့ထုတ်ဝေပါ<br> $ Redis-> Publish ('နှောင့်နှေးခြင်း - အလုပ်များ', JSONS_CENDODE ($ taskdata));</p> <p>// task ကိုရမှတ်နှင့် task data အဖြစ် task data ကိုတန်ဖိုးအဖြစ်သိမ်းဆည်းပါ<br> $ Redis-> Zadd ('Scheduled Tasks', $ triggertime, json_entode ($ taskdata));<br>
Redis ၏စာရင်းသွင်းမှုယန္တရားသည်မက်ဆေ့ခ်ျများရောက်ရှိလာသည့်အခါနှောင့်နှေးသောအလုပ်များကိုစဉ်ဆက်မပြတ်နားထောင်ရန်နှင့်နှောင့်နှေးသောအလုပ်များကိုစဉ်ဆက်မပြတ်နားထောင်ရန်ခွင့်ပြုသည်။ ဒီမှာကုဒ်ဥပမာတစ်ခုပါ။
<?php // callback function ကိုသတ်မှတ်ပါ,လက်ခံရရှိမက်ဆေ့ခ်ျကို process ဖို့အသုံးပြုခဲ့သည် function handleMessage($channel, $message) { $taskData = json_decode($message, true); // အလုပ်ဒေတာကိုခွဲခြမ်းစိတ်ဖြာပါ // နှောင့်နှေးတာဝန်များကိုကိုင်တွယ် // ... echo "လက်ခံရရှိလမ်းကြောင်း {$channel} သတင်း:{$message}"; } <p>// Redis subscription ကိုအရာဝတ်ထုဖန်တီးပါ<br> $ စာရင်းပေးသွင်းထားသူ = New Redis ();<br> $ Subscribe-> Srike ('နှောင့်နှေးခြင်း - အလုပ်များ'], 'houslemessage'), // သတ်မှတ်ထားသော Channel အတွက်မက်ဆေ့ခ်ျကို subscribe</p> <p>// စဉ်ဆက်မပြတ်မက်ဆေ့ခ်ျကိုစောင့်ကြည့်<br> နေစဉ် ($ စာရင်းပေးသွင်းထားသူ> Pubsubloop ()) {<br> // မည်သည့်စစ်ဆင်ရေးကိုမဆိုတက်ကြွစွာလုပ်ဆောင်ရန်မလိုအပ်ပါ။<br> }<br>
ဤသင်ခန်းစာမှတစ်ဆင့် PHP တွင် Redis ၏စာရင်းသွင်းခြင်းယန္တရားကိုမည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့နားလည်ပါသည်။ PHP applications များအတွက်အားကောင်းသောအလုပ်ပြုပြင်ခြင်းစွမ်းရည်များကိုပေးရန် Redis ၏အကျိုးရှိသည့်စာတိုပေးပို့ရေးယန္တရားကို အသုံးပြု. ယုံကြည်စိတ်ချရသောနှောင့်နှေးသောလုပ်ငန်းခွင်အစီအစဉ်များကိုတည်ဆောက်နိုင်သည်။ ဤဆောင်းပါး၏နိဒါန်းမှတစ်ဆင့်နှောင့်နှေးအလုပ်များကိုကိုင်တွယ်ရန် PHP နှင့် Redis ကိုသင်ပိုမိုအသုံးချနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။