課程
/后端開發(fā)
/PHP
/PHP秒殺設(shè)計(jì)
?老師,想學(xué)習(xí)一下,如何限制刷票的行為呢??
2019-11-29
源自:PHP秒殺設(shè)計(jì) 2-3
正在回答
代碼層面做限流的話,可以用redis來(lái)配合做,假設(shè)你的一個(gè)接口的請(qǐng)求限制的一個(gè)IP1s內(nèi)只能有一個(gè)請(qǐng)求,則可以將接口名+IP作為鍵存一個(gè)bool值true,并且設(shè)置生命周期為1s,每次處理請(qǐng)求時(shí)先從redis里根據(jù)“接口名+IP”拿值,如果該值為true,說(shuō)明一秒內(nèi)已經(jīng)有過(guò)一次請(qǐng)求,這種就可以直接拒絕不繼續(xù)往下處理,相反如果拿不到值了,說(shuō)明之前沒(méi)有請(qǐng)求過(guò)或者請(qǐng)求的時(shí)間已經(jīng)是1s之前了,這種就允許通過(guò),繼續(xù)處理下面的業(yè)務(wù)。
一個(gè)是對(duì)請(qǐng)求進(jìn)行限流,然后就是封IP,對(duì)頻繁請(qǐng)求的(指定時(shí)間同一IP請(qǐng)求超過(guò)多次)IP進(jìn)行封堵。
舉報(bào)
利用php+redis打造一個(gè)高性能的訂單秒殺系統(tǒng)
1 回答老師我現(xiàn)在正在學(xué)習(xí)swoole。等到時(shí)候我用swoole去嘗試一下。
1 回答如果是多機(jī)服務(wù)的話?如何保證多個(gè)機(jī)器上本地減庫(kù)存之后的數(shù)據(jù)同步呢?
1 回答老師能把您的課堂上的筆記發(fā)一下嗎?
1 回答老師:統(tǒng)一減庫(kù)存那臺(tái)機(jī)掛了呢?
2 回答老師,可以分享一下代碼么
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2019-12-15
代碼層面做限流的話,可以用redis來(lái)配合做,假設(shè)你的一個(gè)接口的請(qǐng)求限制的一個(gè)IP1s內(nèi)只能有一個(gè)請(qǐng)求,則可以將接口名+IP作為鍵存一個(gè)bool值true,并且設(shè)置生命周期為1s,每次處理請(qǐng)求時(shí)先從redis里根據(jù)“接口名+IP”拿值,如果該值為true,說(shuō)明一秒內(nèi)已經(jīng)有過(guò)一次請(qǐng)求,這種就可以直接拒絕不繼續(xù)往下處理,相反如果拿不到值了,說(shuō)明之前沒(méi)有請(qǐng)求過(guò)或者請(qǐng)求的時(shí)間已經(jīng)是1s之前了,這種就允許通過(guò),繼續(xù)處理下面的業(yè)務(wù)。
2019-12-15
一個(gè)是對(duì)請(qǐng)求進(jìn)行限流,然后就是封IP,對(duì)頻繁請(qǐng)求的(指定時(shí)間同一IP請(qǐng)求超過(guò)多次)IP進(jìn)行封堵。