လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP သင်ခန်းစာ - Redis Message Subscription လုပ်ဆောင်မှုကိုအလွယ်တကူအကောင်အထည်ဖော်ရန်လမ်းညွှန်အပြည့်အစုံ

PHP သင်ခန်းစာ - Redis Message Subscription လုပ်ဆောင်မှုကိုအလွယ်တကူအကောင်အထည်ဖော်ရန်လမ်းညွှန်အပြည့်အစုံ

gitbox 2025-06-11

Redis Message Subscription feature ဆိုတာဘာလဲ

Redis သည်စွမ်းဆောင်ရည်မြင့်သောသော့ချက်ကျသောတန်ဖိုးသိုလှောင်မှုစနစ်ဖြစ်ပြီးကြိုးများ, hashes များ, စာရင်းများ, ၎င်း၏ထုတ်ဝေသော / Subscribe (PUB / SUB) ယန္တရားသည်ကြေညာသူများနှင့်သုံးစွဲသူများအကြားမက်ဆေ့ခ်ျများကိုထုတ်ဝေသူများနှင့်စာရင်းသွင်းသူများအကြားစာတိုပေးပို့ခြင်းကိုခွင့်ပြုသည်။ ထုတ်ဝေသူသည်စာကိုသတ်မှတ်ထားသောချန်နယ်သို့ပေးပို့ပြီးစာရင်းပေးသွင်းထားသူစာရင်းတွင်ပါ 0 င်ပြီးရုပ်သံလိုင်းမှမက်ဆေ့ခ်ျများလက်ခံရရှိသည်။

PHP အတွက် Redis Message Subscription ကိုအကောင်အထည်ဖော်ရန်အဆင့်များ

1 ။ Redis client ကို configure

PHP တွင် redis ကိုမသုံးမီ PECL သို့မဟုတ် source code မှတဆင့် install လုပ်နိုင်သော Redis extension ကို install လုပ်ရန်လိုအပ်သည်။ တပ်ဆင်မှုပြီးပြည့်စုံပြီးနောက် Redis client ကိုဖန်တီးပြီးအောက်ပါကုဒ်ကို အသုံးပြု. ဆာဗာသို့ဆက်သွယ်ပါ။

 //aRedisclient ကိုအရာဝတ်ထု
$redis = new Redis();
//ဆက်Redisဆာဆာ
$redis->connect('127.0.0.1', 6379);

ဤနေရာတွင် ဆက်သွယ်မှု နည်းလမ်းသည် IP address နှင့် port နံပါတ်ကို parameters များအဖြစ်လက်ခံသည်။

2 ။ Redis Channel သို့စာတစ်စောင်ထုတ်ဝေပါ

$ redis-> publish () နည်းလမ်းဖြင့် PHP သည်သတ်မှတ်ထားသောချန်နယ်သို့မက်ဆေ့ခ်ျများပို့နိုင်သည်။ Code pegager ်ဌာန်းချက်မှာအောက်ပါအတိုင်းဖြစ်သည် -

 //သတ်မှတ်ထားသောချန်နယ်ကိုမက်ဆေ့ခ်ျတစ်ခုထုတ်ဝေသည်
$redis->publish($channel, $message);

$ channel သည် Channel အမည်နှင့် $ မက်ဆေ့ခ်ျသည် ထုတ်ဝေသောမက်ဆေ့ခ်ျအကြောင်းအရာဖြစ်သည်။

3 ။ Redis Channel ကိုနားထောင်ပါ

$ redis-> subscribe () နည်းလမ်းကို အသုံးပြု. PHP သည်လိုင်းတစ်ခုသို့မဟုတ်တစ်ခုထက်ပိုသောလိုင်းများကိုစာရင်းသွင်းပြီးမက်ဆေ့ခ်ျများကိုနားထောင်နိုင်သည်။ ဥပမာသည်အောက်ပါအတိုင်းဖြစ်သည် -

 //သတ်မှတ်ထားသော Channel သို့စာရင်းသွင်းပါ
$redis->subscribe([$channel1, $channel2], $callback);

Parameter များအနေဖြင့် $ Channel1 နှင့် $ channel2 သည် Channel အမည်များကို array များဖြစ်ပြီး ဒေါ်လာပြန်ပို့ခြင်းမှာ callback တွင်မက်ဆေ့ခ်ျများပြုလုပ်နိုင်သည်။

Redis Message Subscription ကိုအကောင်အထည်ဖော်ရန်နမူနာကုဒ်

အောက်ပါဥပမာသည် PHP တွင်မက်ဆေ့ခ်ျများကိုပုံနှိပ်ထုတ်ဝေရန်နှင့်သတ်မှတ်ထားသောချန်နယ်ကိုနားထောင်ရန်မည်သို့တင်ပြရမည်ကိုပြသသည်။

 //aRedisclient ကိုအရာဝတ်ထု
$redis = new Redis();
//ဆက်Redisဆာဆာ
$redis->connect('127.0.0.1', 6379);
//ထုတ်ဝေသောရုပ်သံလိုင်းအမည်ကိုသတ်မှတ်ပါ
$channel = 'my_channel';
//သတ်မှတ်ထားသောချန်နယ်ကိုမက်ဆေ့ခ်ျတစ်ခုထုတ်ဝေသည်
$redis->publish($channel, 'Hello, Redis!');
//နားထောင်ပါ,ရုပ်သံလိုင်းမက်ဆေ့ခ်ျကိုစောင့်ဆိုင်း
$redis->subscribe([$channel], function($redis, $channel, $message) {
    echo "Received message from channel {$channel}: {$message}\n";
});

ဥပမာတွင် Redis ဆာဗာကိုပထမ ဦး စွာဆက်သွယ်ပါ။ ထို့နောက် My_channel Channel သို့စာတစ်စောင်ထုတ်ဝေပါ, ထို့နောက် subscription နားထောင်ခြင်းကိုစတင်ပါ။ Channel သည်မက်ဆေ့ခ်ျကိုလက်ခံရရှိသည့်အခါ callback function သည်မက်ဆေ့ခ်ျအကြောင်းအရာကိုပုံနှိပ်ပေးသည်။

အကျဉ်းချုပ်

Redis ၏ Publish / Subscribe အင်္ဂါရပ်သည်အချိန်နှင့်တပြေးညီသတင်းစကားအတွက်ထိရောက်သောယန္တရားတစ်ခုပေးသည်။ PHP ၏ Redis extension ၏အကူအညီဖြင့် developer များသည်ပုံနှိပ်ထုတ်ဝြေခင်းနှင့်စာရင်းသွင်းခြင်းမက်ဆေ့ခ်ျများကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်ပြီးပြောင်းလွယ်ပြင်လွယ်သောမက်ဆေ့ခ်ျကိုရေးဆွဲခြင်း application များကိုတည်ဆောက်နိုင်သည်။