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