首頁 >後端開發 >php教程 >PHP 處理高併發問題

PHP 處理高併發問題

WBOY
WBOY原創
2016-08-10 08:48:361515瀏覽

    在高並發的業務中,伴隨的問題是如何準確、無錯誤的處理用戶的請求,並能快速的給予響應是關鍵所在,對於數據庫在並發中會導致壓力驟增,數據可能不統一的問題。所以程式的設計至關重要。主要的場景如:搶票,秒殺商品等…

一、使用memcacheq訊息佇列

    佇列先進先出的儲存使得我們可以設定秒殺的商品數量作為上限,並存入緩存,在用戶瞬時請求伺服器時判斷目前請求數量是否大於商品總量,大於則跳入靜態的失敗頁面,如果符合則進入程序的下一個流程。

二、使用memcached快取限流

    可以透過對使用者請求逐個限時處理達到對資料庫的壓力減小,並能提供可靠的數據,使用兩個快取達到控制請求進入資料的目的,如設定key1為true,這時使用者可以搶到並進入之後的流程,在進入的同時將該值改為false,其他請求不能進入(進入等待,並遞歸調用),當前一請求處理完成後恢復其值,具體情況按需求而定。

三、分散式狀況

     如果是分散式的伺服器集群,將商品數量分別平均到每個伺服器上,同樣是判斷是否合乎要求,如同方案一

版權聲明:本文為部落客原創聲明:本文為部落客原創聲明文章,未經博主允許不得轉載。

以上就介紹了PHP 處理高並發問題,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn