首先骑科,因?yàn)槊霘⑦@個(gè)環(huán)節(jié)在商城項(xiàng)目中比較常見(jiàn),最近寫商城項(xiàng)目哼蛆,碰到這個(gè)功能模塊蕊梧,于是就拿出來(lái)給大家分享一波。
難點(diǎn):高并發(fā)的情況下腮介,正常邏輯寫的話數(shù)據(jù)庫(kù)的庫(kù)存會(huì)出現(xiàn)負(fù)數(shù)肥矢,對(duì)付這類問(wèn)題有很多解決方案,我就不一一贅述叠洗,我這次用的是redis的隊(duì)列機(jī)制橄抹。
話不多說(shuō),進(jìn)入正題
三張表做測(cè)試惕味,分別是:商品表,日志表玉锌,訂單表名挥,
goods,log主守,order
秒殺的入口:
采用隊(duì)列的方式加入庫(kù)存
本次采用ab壓力測(cè)試:
-r 指定接收到錯(cuò)誤信息時(shí)不退出程序
-t 等待響應(yīng)的最大時(shí)間
-n 指定壓力測(cè)試總共的執(zhí)行次數(shù)
-c 用于指定壓力測(cè)試的并發(fā)數(shù)
進(jìn)入apache的bin目錄? cmd輸入下列分代碼
E:\phpstudy\Apache\bin>ab -r -t 60 -n 3000 -c 600 http://127.0.0.1/api/kill/index/id/1
結(jié)果
數(shù)據(jù)庫(kù)
庫(kù)存count并沒(méi)有出現(xiàn)負(fù)數(shù)
訂單表確實(shí)只有50個(gè)訂單
至此秒殺的功能基本實(shí)現(xiàn)? 后續(xù)再去對(duì)其加工禀倔,歡迎大佬們提出寶貴的意見(jiàn)