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

PHP သည် Redis ၏ Message Subscription ကိုမည်သို့နားထောင်ပြီးကြေးပေးသွင်းခြင်းလုပ်ဆောင်မှုများကိုမည်သို့ဆက်လက်နားထောင်နေသနည်း။

gitbox 2025-06-06

နိဒါန်း

Redis (Remote အဘိဓာန်ဆာဗာ) သည်စွမ်းဆောင်ရည်မြင့်မားသောမှတ်ဉာဏ်ဒေတာဘေ့စ်ဖြစ်သည်။ ၎င်းတို့အနက်ထုတ်ဝေသော / Subscribe (PUB / SUP) ယန္တရားယန္တရားကို 0 န်ဆောင်မှုများအကြားပြတ်ပြတ်သားသားဆက်သွယ်မှုအတွက်အသုံးပြုနိုင်သည်။ ဤဆောင်းပါးသည် PHP ဘာသာစကားကို အသုံးပြု. Redis Channel တွင်စာတိုပေးပို့ချက်များကိုမည်သို့ဆက်လက်နားထောင်ရမည်ကိုရှင်းပြပါလိမ့်မည်။

Redis Redis Present / Subscribe ယန္တရား၏အကျဉ်းချုပ်ဖော်ပြချက်

Redis ၏ Public / Subscribe Mode သည်ဖောက်သည်များအားလိုင်းတစ်ခုသို့မဟုတ်တစ်ခုထက်ပိုသောလိုင်းများကိုစာရင်းသွင်းရန်ခွင့်ပြုသည်, အခြားဖောက်သည်များသည်မက်ဆေ့ခ်ျများထုတ်ဝေနိုင်သည်။ မက်ဆေ့ခ်ျကိုထုတ်ဝေသည်နှင့် clients အားလုံးသည် client များအားလုံးကိုရယူသည်။ ဤယန္တရားကိုမက်ဆေ့ခ်ျအသံလွှင့်ခြင်း, အချိန်မှန်အသိပေးခြင်းနှင့်စနစ်ဖြစ်ရပ်များကဲ့သို့သောဖြစ်ရပ်များတွင်မကြာခဏအသုံးပြုလေ့ရှိသည်။

PHP ကို ​​အသုံးပြု. Redis Subscription channel ကိုဘယ်လိုနားထောင်မလဲ

PHP တွင်နားထောင်ခြင်း Redis Message ကိုအကောင်အထည်ဖော်ရန် PHP-Redis extension ကို install လုပ်ရန်လိုအပ်သည်။ installation နည်းလမ်းမှာအောက်ပါအတိုင်းဖြစ်သည် -

 sudo apt-get install php-redis

PHP ၏အဟောင်းများအနေဖြင့်၎င်းကိုသင်ကိုယ်တိုင်တပ်ဆင်နိုင်သည်။

အဆင့် 1: Redis extension ကို download လုပ်ပြီး unzip

 wget https://pecl.php.net/get/redis-5.3.4.tgz
tar -xzf redis-5.3.4.tgz

အဆင့် 2 - တိုးချဲ့ခြင်းကို compile လုပ်ပါ

 cd redis-5.3.4
phpize
./configure
make
sudo make install

ထို့နောက် php.ini တွင်တိုးချဲ့ထားသော configuration ကိုထည့်ပါ။

 extension=redis.so

အဆင့် 3. Redis connection ကိုဖန်တီးပြီးရုပ်သံလိုင်းကိုနားထောင်ပါ

အောက်ဖော်ပြပါကုဒ်သည် Redis နှင့်မည်သို့ချိတ်ဆက်ရမည်ကိုပြသပြီး PHP ကို ​​အသုံးပြု. Channel သို့စာရင်းသွင်းရန်တင်ပြသည်။

 $redis = new Redis();
$redis->pconnect('127.0.0.1', 6379);
$redis->subscribe(['CHANNEL_NAME'], function ($redis, $channel, $msg) {
    echo $channel . ": " . $msg . "\n";
});

အထက်ပါကုဒ်တွင် Subscribe () နည်းလမ်းကို Channel သို့စာရင်းသွင်းရန်အသုံးပြုသည်။ မက်ဆေ့ခ်ျကိုလက်ခံရရှိပြီးနောက်သတင်းစကား၏အချိန်နှင့်တပြေးညီပြုပြင်ခြင်းကိုနားလည်သဘောပေါက်ရန် callback function ကိုအလိုအလျောက်ကွပ်မျက်ခံရလိမ့်မည်။

Redis Subscription ဖြစ်ရပ်များကိုကိုင်တွယ်ရန်အတွက် callback ယုတ္တိဗေဒ

သင် processcription subscription messages များကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။ ဤတွင်ရိုးရိုးမက်ဆေ့ခ်ျကိုရေးဆွဲခြင်းလုပ်ဆောင်ချက်ဖြစ်သည်။

 function handleMessage($redis, $channel, $message)
{
    // လက်ခံရရှိမက်ဆေ့ခ်ျကို process
    echo "Received $message from channel $channel\n";
}

Custom function များကိုအသုံးပြုပြီးရုပ်သံလိုင်းသို့စာရင်းသွင်းပါ။

 $redis = new Redis();
$redis->pconnect('127.0.0.1', 6379);
$redis->subscribe(['CHANNEL_NAME'], 'handleMessage');

ဤကုဒ်သည် callback function ကို သတ်မှတ်. output ကိုပုံနှိပ်ခြင်းဖြင့်စာရင်းသွင်းထားသောမက်ဆေ့ခ်ျအကြောင်းအရာကိုပြုလုပ်သည်။ ဒေတာဘေ့စ်ရေးသားခြင်း, အခြား 0 န်ဆောင်မှုများအစပျိုးခြင်းစသည့်စီးပွားရေးယုတ္တိဗေဒအပေါ် အခြေခံ. လုပ်ငန်းများကိုပိုမိုလုပ်ဆောင်နိုင်ပါသည်။

အကျဉ်းချုပ်

Effical ဖြစ်ရပ်သတိပေးချက်နှင့်မက်ဆေ့ခ်ျထုတ်လွှင့်မှုယန္တရားများကို PHP နားထောင်ခြင်းကို Redis ၏ Public / Subscribe Message များဖြင့်ပြုလုပ်နိုင်သည်။ ဤဆောင်းပါးသည်နားထောင်ခြင်းယုတ္တိဗေဒကိုရေးသားခြင်းမှထည့်သွင်းမှုတိုးချဲ့ခြင်းမှပြီးပြည့်စုံသောလုပ်ငန်းစဉ်ကိုမိတ်ဆက်ပေးသည်။ developer များက subscription function ကိုပြောင်းလွယ်ပြင်သည် Real-Time Message Message processing အောင်မြင်ရန်လိုအပ်သည်။