回覆列表
-
1 # niko7
-
2 # 西街三水哥
限時搶購這種功能,對效能要求很高!所以,對於儲存的介質選擇很重要!
一般這種功能不選擇資料庫來做為儲存!
而是使用非關係型資料庫來進行實現的!
比如說redis!
而實際上搶購需要儲存兩個東西一個是搶購的數量有多少!
另外需要儲存已經搶購的使用者id是多少!其他的就需要根據需求來進行設計了!而型別呢!一種用字串的自增或自減來實現!另外一個可以用hset來實現!
網上有很多例項!只能幫你到這裡了
思路放開一點。首先,不要盯著java不放,其實很多程式語言都能做,這不是java的獨門功夫,所以不要在java一棵樹上吊死了,重要的是方法,不是程式語言。再次,講講方法,秒殺個東西嘛,從搶到資格到付款到物流,牽扯到太多了,分散式系統排程起來效率肯定是差的,效果就不好了。可以只是搶個排隊號的嘛,這個就容易多了,限時搶個排隊號,號子發完了,再排隊搖號,然後讓有資格的人慢悠悠的去付款就行了。分散式而又不需要協同的系統,才是具備無限併發能力的系統,限量搶購小菜而已。