ခေတ်သစ်မြင့်မားသောအကာအကွယ်အာပြုနိုင်ငံရေးဖြစ်စဉ်များတွင် PHP သည်ရိုးရာ synchronous scripting language တစ်ခုအနေဖြင့် PHP သည် Multi-threading အတွက်၎င်း၏ထောက်ခံမှုအတွက်မကြာခဏဝေဖန်လေ့ရှိသည်။ သို့သော် "Thread_safe" ( thread_safe ) ၏ဆင်ခြင်တုံတရားကိုဆင်ခြင်တုံတရားနှင့်ဆက်စပ်သောလုပ်ဆောင်ချက်များနှင့်ယန္တရားများသည် PHP API ၏တစ်ပြိုင်နက်တည်းထုတ်လုပ်သည့်စွမ်းရည်ကိုသိသိသာသာတိုးတက်စေနိုင်သည်။
Thread_Safe သည် များသောအားဖြင့် function တစ်ခုသို့မဟုတ် module ကိုပေါင်းသင်းနေသောပတ် 0 န်းကျင်တွင်လုံခြုံစွာခေါ်ယူခြင်းရှိမရှိကိုရည်ညွှန်းသည်။ PHP တွင်တရားဝင် Zend Engine သည်အချိန်များတွင် ZTS (Zend Thread လုံခြုံမှု) mode ကိုဖွင့်နိုင်သည်။ PHP applications များသည် compile complead surface ကိုအမှန်တကယ်ထောက်ပံ့နိုင်သည့် PHP applications များသည်များသောအားဖြင့် SWOOLE,
ဒေတာဘေ့စ် connection pool ပြန်လည်အသုံးပြုခြင်း
Shared Memory Cache ကိုဖတ်ပါ
asynchronous i / o စစ်ဆင်ရေး
တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုအပြောင်းအလဲနဲ့
Php ၏တစ်ပြိုင်နက်တည်း php ၏တစ်ပြိုင်နက်တည်းလုပ်ဆောင်နိုင်စွမ်းကိုမည်သို့တိုးတက်ကောင်းမွန်စေရန်ပုံဥပမာတစ်ခုအနေဖြင့် SWOOLE extension ကိုဥပမာအဖြစ်ယူကြစို့။
ဤတွင်တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်း API interface ကိုအကောင်အထည်ဖော်ရန် SWOOLE ကိုအသုံးပြုပြီး SWOOLE ကို အသုံးပြု. ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
use Swoole\Http\Server;
use Swoole\Table;
$table = new Table(1024);
$table->column('count', Table::TYPE_INT);
$table->create();
$server = new Server("0.0.0.0", 9501);
$server->on("start", function ($server) {
echo "Swoole HTTP server started at http://127.0.0.1:9501\n";
});
$server->on("request", function ($request, $response) use ($table) {
$key = 'visit_count';
$table->incr($key, 'count', 1);
$response->header("Content-Type", "application/json");
$response->end(json_encode([
'message' => 'Welcome to thread-safe API!',
'visit_count' => $table->get($key)['count']
]));
});
$ Table-> Set ('Vister_count', ['count_count' => 0]);
$ ဆာဗာ -> စတင် ();
အထက်ပါကုဒ်တွင် SWOOLE \ ဇယားသည် တောင်းဆိုမှုများတွင်ဒေတာများကိုမျှဝေခြင်းအတွက်ချည်မျှင်သောမျှဝေထားသောမှတ်ဉာဏ်တည်ဆောက်ပုံကိုထောက်ပံ့ပေးသည်။ $ ဇယား ရှိစစ်ဆင်ရေးအားလုံးသည်လူမျိုးရေးအခြေအနေများကိုရှောင်ရှားရန်အနုမြူလက်နက်များဖြစ်သည်။ ဤနည်းလမ်းသည်အထူးသဖြင့်ကောင်တာများအတွက်အထူးသဖြင့် cache hit statistics နှင့်အခြားအခြေအနေများအတွက်သင့်လျော်သည်။
Thread-Safe function ကိုဒီဇိုင်းရေးဆွဲခြင်းအတွက်အဓိကအချက်များ
PHP တွင်ချည်နေသောလုံခြုံစိတ်ချရသောလုပ်ဆောင်မှုများကိုရေးသည့်အခါအောက်ပါမူများကိုလိုက်နာသင့်သည် -
ကမ္ဘာလုံးဆိုင်ရာ variable တွေကိုအသုံးပြုခြင်းကိုရှောင်ကြဉ်ပါ
ဝေဖန် areas ရိယာများကိုကိုင်တွယ်ရန် (ထိုကဲ့သို့သော SWOOLE \ Lock) ကိုသုံးပါ
ဒေတာမျှဝေခြင်းကိုရှောင်ရှားရန်ကျိုးကြောင်းဆီလျော်သောကွဲပြားသောတာဝန်ဝတ္တရားများ
ငါ / o စစ်ဆင်ရေးအချို့ဖိုင်များ, curl settings စသည်တို့ကဲ့သို့သောပြန်လည်နာမကျန်းမဟုတ်သောလုပ်ဆောင်မှုများကိုကိုးကားခြင်းကိုရှောင်ကြဉ်ပါ။
ပြင်ပတောင်းဆိုမှုချည်အပြောင်းအလဲနဲ့
အကယ်. သင်၏ API သည် Third-party 0 န်ဆောင်မှုများကိုခေါ်ခြင်းကဲ့သို့သောအခြား interfaces များကိုတောင်းခံပါက SWoole ၏ Coroutine Client သို့မဟုတ် JozleD + multynchronous non-blocking မဟုတ်သောခေါ်ဆိုမှုများကိုအကောင်အထည်ဖော်ရန်သင်အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်:
go(function () {
$cli = new Swoole\Coroutine\Http\Client('m66.net', 80);
$cli->get('/api/data');
echo $cli->body;
});
ဤချဉ်းကပ်မှုသည်ရိုးရာတစ်ပြိုင်တည်းချိန်ကိုက်ခြင်း () သို့မဟုတ်ဆံပင်ကောက်ကောက်များထက်ပိုမိုထိရောက်သောအရာများ, အထူးသဖြင့်ဝေးလံခေါင်သီသော 0 န်ဆောင်မှုတုံ့ပြန်မှုများကိုကိုင်တွယ်သောအခါ,
အကျဉ်းချုပ်
PHP သည် Multi-Threading အတွက်ဒီဇိုင်းမရှိသော်လည်း SWOOLE နှင့် Thread-Safe ၏လုံခြုံစိတ်ချရသောလုပ်ဆောင်မှုများကိုထောက်ပံ့သော SWOOLE နှင့်အပြိုင်တိုးချဲ့ခြင်းများပြုလုပ်နိုင်သည်။ တိကျသောအကောင်အထည်ဖော်မှုတွင် Thread-Safe Data Storces များ,
Thread လုံခြုံမှုသည်တစ်ပြိုင်နက်တည်း "ငွေကျည်ဆံ" မဟုတ်ပါ, အချိန်မီနှင့်ဒီဇိုင်းကိုစနစ်တကျမိတ်ဆက်ပါ။ သင်၏ PHP 0 န်ဆောင်မှုသည်အသစ်တက်ကြွမှုကိုဖြစ်ပေါ်စေနိုင်သည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
API