Redis သည်စွမ်းဆောင်ရည်မြင့်သောသော့ချက်ကျသောတန်ဖိုးသိုလှောင်မှုစနစ်ဖြစ်ပြီးကြိုးများ, hashes များ, စာရင်းများ, ၎င်း၏ထုတ်ဝေသော / Subscribe (PUB / SUB) ယန္တရားသည်ကြေညာသူများနှင့်သုံးစွဲသူများအကြားမက်ဆေ့ခ်ျများကိုထုတ်ဝေသူများနှင့်စာရင်းသွင်းသူများအကြားစာတိုပေးပို့ခြင်းကိုခွင့်ပြုသည်။ ထုတ်ဝေသူသည်စာကိုသတ်မှတ်ထားသောချန်နယ်သို့ပေးပို့ပြီးစာရင်းပေးသွင်းထားသူစာရင်းတွင်ပါ 0 င်ပြီးရုပ်သံလိုင်းမှမက်ဆေ့ခ်ျများလက်ခံရရှိသည်။
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 များအဖြစ်လက်ခံသည်။
$ redis-> publish () နည်းလမ်းဖြင့် PHP သည်သတ်မှတ်ထားသောချန်နယ်သို့မက်ဆေ့ခ်ျများပို့နိုင်သည်။ Code pegager ်ဌာန်းချက်မှာအောက်ပါအတိုင်းဖြစ်သည် -
//သတ်မှတ်ထားသောချန်နယ်ကိုမက်ဆေ့ခ်ျတစ်ခုထုတ်ဝေသည်
$redis->publish($channel, $message);
$ channel သည် Channel အမည်နှင့် $ မက်ဆေ့ခ်ျသည် ထုတ်ဝေသောမက်ဆေ့ခ်ျအကြောင်းအရာဖြစ်သည်။
$ redis-> subscribe () နည်းလမ်းကို အသုံးပြု. PHP သည်လိုင်းတစ်ခုသို့မဟုတ်တစ်ခုထက်ပိုသောလိုင်းများကိုစာရင်းသွင်းပြီးမက်ဆေ့ခ်ျများကိုနားထောင်နိုင်သည်။ ဥပမာသည်အောက်ပါအတိုင်းဖြစ်သည် -
//သတ်မှတ်ထားသော Channel သို့စာရင်းသွင်းပါ
$redis->subscribe([$channel1, $channel2], $callback);
Parameter များအနေဖြင့် $ Channel1 နှင့် $ channel2 သည် Channel အမည်များကို array များဖြစ်ပြီး ဒေါ်လာပြန်ပို့ခြင်းမှာ callback တွင်မက်ဆေ့ခ်ျများပြုလုပ်နိုင်သည်။
အောက်ပါဥပမာသည် 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 များကိုတည်ဆောက်နိုင်သည်။