在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP/ PHP 如何先進(jìn)先出處理高并發(fā)問題

PHP 如何先進(jìn)先出處理高并發(fā)問題

例如投票只能投一次,程序先搜索他有沒有投過票,沒有的話就插入記錄
如果該用戶用并發(fā)工具投票,檢查時候,多個請求都沒有查到數(shù)據(jù),就能投多票

能否把{select insert}這段代碼打包先進(jìn)先出,只能一個用戶進(jìn)去執(zhí)行這段代碼

回答
編輯回答
吃藕丑

將投票信息存儲到redis隊列中,并且以第一次投票為準(zhǔn),后面再投票就去redis中查,有則拒絕投票,前端在點擊按鈕后使其失效

2017年8月27日 18:53
編輯回答
鹿惑

用redis鎖,確保單進(jìn)程,網(wǎng)上都有的,利用redis的原子性

2017年3月5日 22:04
編輯回答
歆久

隊列了解一下,搭配redis,用一個list維護(hù)隊伍,每個投票請求到達(dá)后rpush到list里,然后理解回復(fù)成功。服務(wù)器端終端運(yùn)行php腳本,while一個loop,blpop list,獲取信息并進(jìn)行處理。這樣每次就處理一個。

2018年1月22日 18:13