跟著老師擼了一遍代碼,里面的源碼上傳到github上了,跟大家一起交流學(xué)習(xí)
https://github.com/limingval/seckill
https://github.com/limingval/seckill
2018-05-20
@qq_空山聽雨_0 關(guān)于這點(diǎn)的疑問(wèn),我來(lái)告訴你(如果有誤,輕噴)
“...我有個(gè)疑問(wèn),數(shù)據(jù)庫(kù)的連接數(shù)是有限的(幾百個(gè)?)...你說(shuō)的4萬(wàn)QPS是如何測(cè)出來(lái)的呢?...”
數(shù)據(jù)庫(kù)是有最大連接數(shù),但這個(gè)是可以自己設(shè)置的,根據(jù)數(shù)據(jù)庫(kù)不同:
MySQL數(shù)據(jù)庫(kù)默認(rèn)是200,版本:mysql 5.7.21,查詢語(yǔ)句:show variables like '%max_connections%' 最大可以達(dá)到16384,前提是你的服務(wù)器內(nèi)存夠大;Oracle忘記了,不過(guò)有同事設(shè)置過(guò)3000
還有你可能沒好好聽課,MySQL自己update,串行執(zhí)行,沒有網(wǎng)絡(luò)連接
“...我有個(gè)疑問(wèn),數(shù)據(jù)庫(kù)的連接數(shù)是有限的(幾百個(gè)?)...你說(shuō)的4萬(wàn)QPS是如何測(cè)出來(lái)的呢?...”
數(shù)據(jù)庫(kù)是有最大連接數(shù),但這個(gè)是可以自己設(shè)置的,根據(jù)數(shù)據(jù)庫(kù)不同:
MySQL數(shù)據(jù)庫(kù)默認(rèn)是200,版本:mysql 5.7.21,查詢語(yǔ)句:show variables like '%max_connections%' 最大可以達(dá)到16384,前提是你的服務(wù)器內(nèi)存夠大;Oracle忘記了,不過(guò)有同事設(shè)置過(guò)3000
還有你可能沒好好聽課,MySQL自己update,串行執(zhí)行,沒有網(wǎng)絡(luò)連接
2018-05-14
一次執(zhí)行的GC和網(wǎng)絡(luò)延遲沒有減少,而是在update執(zhí)行行級(jí)鎖之前進(jìn)行insert判斷update行級(jí)鎖是否值得執(zhí)行,插入重復(fù)就不執(zhí)行行級(jí)鎖了,這樣減少了行級(jí)鎖的執(zhí)行次數(shù)(重復(fù)秒殺的不會(huì)執(zhí)行update,行級(jí)鎖也就不會(huì)發(fā)生)??偟膩?lái)說(shuō)就是減少了行級(jí)鎖的執(zhí)行次數(shù),優(yōu)化了總的執(zhí)行時(shí)間,而是減少了一次成功執(zhí)行的GC和網(wǎng)絡(luò)延遲。
2018-05-11
謝謝老師, 這個(gè)課真的太棒了.
非常幸運(yùn), 剛開始學(xué)習(xí)Web后臺(tái)開發(fā)就能看到這么好的課程.
而且老師還將課程免費(fèi)開發(fā)給大家,.
如此無(wú)私奉獻(xiàn), 我無(wú)以回報(bào), 一定多看幾遍, 好好掌握, 以感謝老師的大恩大德.
最后, 祝老師 身體健康, 生活順利, 萬(wàn)事如意!
非常幸運(yùn), 剛開始學(xué)習(xí)Web后臺(tái)開發(fā)就能看到這么好的課程.
而且老師還將課程免費(fèi)開發(fā)給大家,.
如此無(wú)私奉獻(xiàn), 我無(wú)以回報(bào), 一定多看幾遍, 好好掌握, 以感謝老師的大恩大德.
最后, 祝老師 身體健康, 生活順利, 萬(wàn)事如意!
2018-04-28