国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

老火 給大家說(shuō)兩句自己簡(jiǎn)單實(shí)現(xiàn)秒殺思路

2019-11-11 06:30:55
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

大家應(yīng)該都知道,秒殺為啥  用  異步隊(duì)列 這種形式來(lái)處理吧?哈哈 因?yàn)槲覀儗?xiě)的程序功能之前常理都是  用戶(hù)請(qǐng)求到后臺(tái),后臺(tái)操作數(shù)據(jù)庫(kù)進(jìn)行實(shí)現(xiàn)相應(yīng)功能。

上邊說(shuō)道  用戶(hù)  -->  后臺(tái)服務(wù)器邏輯  -->數(shù)據(jù)庫(kù)

那么這樣的模式  如果用在秒殺上,  同時(shí)間 高并發(fā)來(lái)臨,后臺(tái)服務(wù)器邏輯操作數(shù)據(jù)庫(kù)  一定是數(shù)據(jù)庫(kù) 扛不住的時(shí)候,他已經(jīng)就高潮了信不?

所以我們  如何讓服務(wù)器不癱瘓的實(shí)現(xiàn)秒殺咧?

就要使用我們 的一種快、高效  避免數(shù)據(jù)庫(kù)受到  高并發(fā)的請(qǐng)求處理;

實(shí)現(xiàn)思路:

1、在做一個(gè)  商品 開(kāi)啟秒殺活動(dòng)前,將數(shù)據(jù)庫(kù)中該商品的庫(kù)存  同步到我們的內(nèi)容緩沖中例如  redis 、memcache 中;

2、然后  同時(shí)在redis、memcache內(nèi)容緩沖中  構(gòu)建我們的消息隊(duì)列A(其實(shí)也就是一塊命名了的  資源空間) 用來(lái)存放 客戶(hù)端的請(qǐng)求;

3、構(gòu)建 處理 2 中的隊(duì)列數(shù)據(jù) 將處理的結(jié)果 放入另一個(gè) 隊(duì)列B中(例如 通過(guò)腳本 while()  sleep  實(shí)現(xiàn)隊(duì)列A處理后  結(jié)果再放入隊(duì)列B);

4、客戶(hù)端點(diǎn)擊秒殺后,js等客戶(hù)端  啟動(dòng)隔時(shí) 請(qǐng)求,去隊(duì)列B中找自己是不是被處理  以及處理的結(jié)果到底是個(gè)毛線 拿回來(lái);

5、定時(shí)將 緩沖 中的商品庫(kù)存等信息  再同步回?cái)?shù)據(jù)庫(kù)中

OK  幾句話是否點(diǎn)通了你?

實(shí)現(xiàn)腳本圖:

0.php   將數(shù)據(jù)庫(kù)商品庫(kù)存同步 緩沖中一份;

1.php   處理消息隊(duì)列A 的入隊(duì)(用戶(hù)的請(qǐng)求);

2.php   while sleep腳本啟動(dòng),出隊(duì)A中的請(qǐng)求逐個(gè)處理  并將結(jié)果存入隊(duì)列B;

3.php   處理客戶(hù)端  定時(shí)請(qǐng)求讀取結(jié)果  隊(duì)列B中檢索;

4.html   定時(shí)請(qǐng)求3.php;

5.php    定時(shí)將緩沖商品信息同步回?cái)?shù)據(jù)庫(kù)中

OK

以上,自己實(shí)現(xiàn)過(guò)一個(gè)例子,僅供參考


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 齐齐哈尔市| 绥中县| 古丈县| 铁岭县| 阳泉市| 平远县| 舞阳县| 施甸县| 长治县| 东宁县| 望城县| 会理县| 隆回县| 天峨县| 区。| 湾仔区| 务川| 安塞县| 日土县| 嵩明县| 永城市| 麻城市| 长海县| 陇西县| 开封县| 库尔勒市| 若羌县| 澄江县| 浮山县| 开平市| 宜兰市| 东宁县| 清流县| 唐河县| 太康县| 海安县| 克什克腾旗| 钦州市| 广东省| 达孜县| 牙克石市|