ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်အတွင်း SMS စိစစ်ရေးဆိုင်ရာကုဒ်များ, system notifications စသဖြင့်မက်ဆေ့ခ်ျပို့ခြင်းများကိုနှောင့်နှေးရန်လိုအပ်ခြင်းသည် PHP equeues များကိုအားဖြည့်တင်းပေးနိုင်သည်။ ဤဆောင်းပါးသည် Redis ကို Realis server တစ်ခုအဖြစ်အသုံးပြုရန်ဖြေရှင်းရန်အဖြေကိုမိတ်ဆက်ပေးလိမ့်မည်။ မြန်မြန်ဆန်ဆန်စတင်ရန်ကူညီရန် PHP နမူနာကုဒ်များတပ်ဆင်ထားသည်။
Redis သည်စွမ်းဆောင်ရည်မြင့်မားသော In-memory database ဖြစ်ပြီးစာရင်းများနှင့်အမိန့်ရေးဆွဲထားသော collection များအပါအ 0 င်အချက်အလက်ဖွဲ့စည်းပုံအမျိုးမျိုးကိုထောက်ပံ့သောအချက်အလက်အမျိုးမျိုးကိုထောက်ပံ့သည်။ ပထမ ဦး စွာဆာဗာပေါ်ရှိ Redis နှင့်သက်ဆိုင်ရာ PHP extension ကို install လုပ်ရန်လိုအပ်သည်။ Ubuntu System တွင် install လုပ်ရန်အောက်ပါ command ကိုသုံးနိုင်သည်။
sudo apt-get redis-server ကို install လုပ်ပါ sudo apt-get install PHP-Redis ကို install လုပ်ပါ
တပ်ဆင်မှုပြီးဆုံးပါကအောက်ပါကုဒ်သည် Redis ဆာဗာနှင့်မည်သို့ချိတ်ဆက်ရမည်ကိုပြသသည်။
$ redis = အသစ် (Redis); $ Redis-> Connect ('127.0.0.1), 6379,
အောက်ဖော်ပြပါဥပမာတွင် Redis Reque သို့စာတစ်စောင်ထည့်သွင်းရန်နှင့်သက်တမ်းကုန်ဆုံးခြင်းနှင့်သက်တမ်းကုန်ဆုံးခြင်းနှင့်ပေးပို့စဉ်နှောင့်နှေးနေသည့်အချိန်ကိုပေးဆပ်ရမည်ကိုပြသသည်။
// စာတိုသို့မက်ဆေ့ခ်ျများထည့်ပြီးနှောင့်နှေးအချိန်ကိုသတ်မှတ်ပါ (စက္ကန့်) function adddelayedmessage ($ message, $ days) { Global $ Redis; // မက်ဆေ့ခ်ျကို $ နှောင့်နှေး = အချိန် = အချိန် () + $ နှောင့်နှေးခြင်း၏ပေးပို့ခြင်း timestamp ကိုတွက်ချက်; // မက်ဆေ့ခ်ျကိုအမိန့်ပေးထားသည့်အစဉ်အဆက်သို့ထည့်သွင်းပါ, ရမှတ်သည် $ Redis-zadd ('နှောင့်နှေးခြင်း, } // သက်တမ်းကုန်ဆုံးခြင်းမက်ဆေ့ခ်ျကိုစစ်ဆေးပြီးပေးပို့ပါ။ { Global $ Redis; နေစဉ် (စစ်မှန်တဲ့) { // လက်ရှိအချိန်မတိုင်မီပေးပို့ရန်လိုအပ်သည့်သတင်းစကားကို $ Redis-zrangebyscore ('နှောင့်နှေးခြင်း, 0, အချိန်), 0, time zrqueue' => [0, 1]]) IF (ရေတွက် ($ မက်ဆေ့ခ်ျ)> 0) { // ဤနေရာတွင်စာတိုပေးပို့ခြင်းများကိုပေးပို့ခြင်းကို Sending to Echo ကိုနှိပ်ပါ။ $ မက်ဆေ့ခ်ျ [0] ။ php_eol; // Sented Message $ Redis-> Zrem ('နှောင့်နှေးခြင်း, } အခြား // ပို့ရန်မက်ဆေ့ခ်ျများ, } } } // နမူနာနှောင့်နှေးမှုမက်ဆေ့ခ်ျကို adddelayedmessage ('Message 1', 300); // adddelayedmessage ('Message 2', 600), // 10 မိနစ်အကြာတွင် // ပေးပို့ // ပေးပို့ checkdelayedmessages ();
အထက်ပါကုဒ်တွင် adddelayedmessmessmessage function သည် Redis orded set သို့မက်ဆေ့ခ်ျကိုထည့်သွင်းထားသည်။ checkdelayedmessionedsedmesses သည်လက်ရှိအချိန်မတိုင်မီကမက်ဆေ့ခ်ျများကိုစဉ်ဆက်မပြတ်စစ်ဆေးသည်။
Message Queue များကိုအကောင်အထည်ဖော်ရန် PHP နှင့် Redis တို့ကိုပေါင်းစပ်ခြင်းအားဖြင့်တောင်းဆိုမှုများကိုနှောင့်နှေးစေသည့်မက်ဆေ့ခ်ျကိုနှောင့်နှေးစေခြင်းများကိုထိထိရောက်ရောက်ကိုင်တွယ်နိုင်သည်။ Redis အမိန့်ထုတ်ယူထားသော collection များသည်အလွန်အဆင်ပြေသောအချိန် sorting function များကိုထောက်ပံ့ပေးသည်။ ဒီဖြေရှင်းချက်ကိုကျွမ်းကျင်စေခြင်းစနစ်၏ပြတ်ပြတ်သားဆက်ထုတ်လုပ်ခြင်းစွမ်းရည်နှင့်စွမ်းဆောင်ရည်ကိုများစွာတိုးတက်စေနိုင်သည်။