Redis သည်စွမ်းဆောင်ရည်မြင့်မားသော open source in-memory data storage system ဖြစ်ပြီးဒေတာဘေ့စ်, cache နှင့် message monthware အဖြစ်အသုံးပြုနိုင်သည်။ Redis သည်ရိုးရာရင်းမြစ်ဒေတာဘေ့စ်များနှင့်နှိုင်းယှဉ်ပါက Redis သည်အချက်အလက်များကိုဖတ်ရှုခြင်းနှင့်ရေးခြင်းမြန်ခြင်း, Redis သည် Message Queue များကိုအကောင်အထည်ဖော်ရန် Publish / Subscribe Mode ကိုထောက်ပံ့သည်။
Redis ၏ Publial / Subscribe Mode ကို Pub / Sub command မှတဆင့်အကောင်အထည်ဖော်သည်။ ဒီ mode မှာ:
ဤ mode သည်အွန်လိုင်းစကားပြောခန်းများနှင့်အချိန်မှန်ဒေတာများတွန်းအားပေးခြင်းကဲ့သို့သောအချိန်နှင့်တပြေးညီလုပ်ဆောင်ရန်သင့်တော်သည်။
PHP ရဲ့ redis extension မှတဆင့် Redis ရဲ့ Message Queue ကိုကျွန်တော်တို့ကိုင်တွယ်နိုင်တယ်။ ဤ extension သည် Redis server နှင့်ဆက်သွယ်မှုကိုအထောက်အကူပြုပြီးလိုင်းများကိုရယူရန်ကူညီသည်။ Channel တွင်မက်ဆေ့ခ်ျအသစ်တစ်ခုရှိပါက PHP script သည်မက်ဆေ့ခ်ျကိုလက်ခံပြီး၎င်းကိုလုပ်ဆောင်သည်။
Redis extension ကိုမသုံးမီပထမ ဦး ဆုံး extension ကို install လုပ်ရန်လိုအပ်သည်။ တပ်ဆင်မှုပြီးဆုံးသွားသောအခါကျွန်ုပ်တို့သည်အောက်ပါကုဒ်များမှတဆင့် Redis ဆာဗာကို ဆက်သွယ်. ဆက်သွယ်နိုင်သည်။
ဤတွင်ကျွန်ုပ်တို့သည် Redis ဥပမာအားဖြင့်ပြန်လည်ထူထောင်ရေး server သို့ဆက်သွယ်ပါ။ အကယ်. Redis Server သည်အခြားလိပ်စာတစ်ခုတွင်တည်ရှိပါက server ၏ IP address ကိုသတ်မှတ်ရန် `connect ()` နည်းလမ်း၏ parameters များကိုသင်ပြုပြင်နိုင်သည်။
Redis ကိုဆက်သွယ်ပြီးနောက် `subscribe ()` `method ကိုသုံးပါ။ ဤနည်းလမ်းသည်ရုပ်သံလိုင်းအမည်ပါသော parameter သည်ခင်းကျင်းအဖြစ်ခင်းကျင်းသည်။ ဥပမာအားဖြင့်, ကျွန်ုပ်တို့သည် "Mychannel" ဟုခေါ်သောချန်နယ်ကိုစာရင်းသွင်းနိုင်သည်။
ဤကုဒ်တွင် "Mychannel" ဟုခေါ်သောချန်နယ်ကိုစာရင်းသွင်းပြီး callback function ကို `callback`` ကိုသတ်မှတ်ပါ။ Redis သည် Channel သို့စာတစ်စောင်ပို့သည့်အခါ PHP ပရိုဂရမ်သည်မက်ဆေ့ခ်ျကိုလုပ်ဆောင်ရန် PHP အစီအစဉ်သည် callback function ကိုအလိုအလျောက်လုပ်ဆောင်လိမ့်မည်။
မက်ဆေ့ခ်ျကိုလက်ခံရရှိပြီးနောက်ကျွန်ုပ်တို့သည် callback function တွင်အပြောင်းအလဲနဲ့ယုတ္တိဗေဒကိုရေးရန်လိုအပ်သည်။ မက်ဆေ့ခ်ျကိုလက်ခံရရှိသည့်အခါဤ callback function ကိုအစပျိုးပေးပြီး Redis မှပေးပို့သောချန်နယ်နှင့်မက်ဆေ့ခ်ျအကြောင်းအရာများကိုအလိုအလျောက်လက်ခံရရှိလိမ့်မည်။
In this example, the callback function will receive three parameters: `$redis` is the Redis instance, `$channel` is the channel name, and `$message` is the message content. မက်ဆေ့ခ်ျအသစ်တစ်ခုကိုလက်ခံရရှိသည့်အခါ function သည်မက်ဆေ့ခ်ျအကြောင်းအရာကိုထုတ်ပေးသည်။
ဤတွင် PHP ကို အသုံးပြု. RETIS မက်ဆေ့ခ်ျများကိုစဉ်ဆက်မပြတ်နားထောင်ရန်နှင့် PHP ကို အသုံးပြု. တန်းစီလုပ်ငန်းများကိုမည်သို့ကိုင်တွယ်ရမည်ကိုပြသသည့်နမူနာအပြည့်အစုံကိုပြသသည်။
ဤအပြည့်အဝဥပမာတွင် PHP ပရိုဂရမ်သည် "Mychannel" ဟုခေါ်သောချန်နယ်ကိုစာရင်းသွင်းပြီးအလုပ်အမျိုးအစားမက်ဆေ့ခ်ျကိုလက်ခံရရှိသည့်အခါသက်ဆိုင်ရာလုပ်ဆောင်မှုကိုခေါ်ဆိုသည်။ ဥပမာအားဖြင့်, အလုပ်က Send_email "ဖြစ်ပါက` SendEmail () "function ကိုမေးလ်ပို့ရန်ဖြစ်သည်။ အကယ်. အလုပ်က" Update_statical "()" function ကိုစာရင်းဇယားတွေကိုမွမ်းမံဖို့လို့ခေါ်တယ်။
PHP ကိုအသုံးပြုပြီး Redis ၏မက်ဆေ့ခ်ျစာရင်းပေးသွင်းချက်များကိုစဉ်ဆက်မပြတ်နားထောင်ခြင်းအားဖြင့်သင်သည် espychricianous tasks များကို allynchronous task များကို endealchronous task များကိုပြုပြင်ပြောင်းလဲနိုင်သည်။ လက်တွေ့ကျသောအပလီကေးရှင်းများ၌အချိန်ကုန်ခံခြင်းလုပ်ငန်းများကိုမက်ဆေ့ခ်ျများသို့ 0 င်ရောက်ခြင်းနှင့် PHP ကို အသုံးပြု. PHP ကို အသုံးပြု. PHP ကိုအသုံးပြုခြင်းနှင့်အသုံးပြုခြင်းအတွက်စနစ်များ 0 န်ဆောင်မှုကိုထိထိရောက်ရောက်လျှော့ချနိုင်သည်။ တစ်ချိန်တည်းမှာပင်ဤနည်းလမ်းသည်အချိန်နှင့်တပြေးညီတွန်းအားပေးခြင်းနှင့်အွန်လိုင်းစကားပြောခန်းများကဲ့သို့သောအချိန်မှန် application တစ်ခုအတွက်သင့်တော်သည်။