狂野欧美性猛xxxx乱大交-狂野欧美性猛交xxxx-狂躁美女大bbbbbb视频u-捆绑a区-啦啦啦www播放日本观看-啦啦啦www在线观看免费视频

二維碼
企資網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁(yè) » 企業(yè)資訊 » 行業(yè) » 正文

接口優(yōu)化_Redis預(yù)減庫(kù)存_減少對(duì)數(shù)據(jù)庫(kù)訪問

放大字體  縮小字體 發(fā)布日期:2021-11-16 01:42:18    瀏覽次數(shù):86
導(dǎo)讀

Redis預(yù)減庫(kù)存:主要思路減少對(duì)數(shù)據(jù)庫(kù)得訪問,之前得減庫(kù)存,直接訪問數(shù)據(jù)庫(kù),讀取庫(kù)存,當(dāng)高并發(fā)請(qǐng)求到來得時(shí)候,大量得讀取數(shù)據(jù)有可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)得崩潰。思路:系統(tǒng)初始化得時(shí)候,將商品庫(kù)存加載到Redis 緩存中

Redis預(yù)減庫(kù)存:主要思路減少對(duì)數(shù)據(jù)庫(kù)得訪問,之前得減庫(kù)存,直接訪問數(shù)據(jù)庫(kù),讀取庫(kù)存,當(dāng)高并發(fā)請(qǐng)求到來得時(shí)候,大量得讀取數(shù)據(jù)有可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)得崩潰。

思路:

  1. 系統(tǒng)初始化得時(shí)候,將商品庫(kù)存加載到Redis 緩存中保存
  2. 收到請(qǐng)求得時(shí)候,現(xiàn)在Redis中拿到該商品得庫(kù)存值,進(jìn)行庫(kù)存預(yù)減,如果減完之后庫(kù)存不足,直接返回邏輯Exception就不需要訪問數(shù)據(jù)庫(kù)再去減庫(kù)存了,如果庫(kù)存值正確,進(jìn)行下一步
  3. 將請(qǐng)求入隊(duì),立即給前端返回一個(gè)值,表示正在排隊(duì)中,然后進(jìn)行秒殺邏輯,后端隊(duì)列進(jìn)行秒殺邏輯,前端輪詢后端發(fā)來得請(qǐng)求,如果秒殺成功,返回秒殺,成功,不成功就返回失敗。

(后端請(qǐng)求 單線程 出隊(duì),生成訂單,減少庫(kù)存,走邏輯)前端同時(shí)輪詢

  1. 前端顯示
第壹步:預(yù)減庫(kù)存

等Overridepublic void afterPropertiesSet() throws Exception { List<GoodsVo> goods = goodsService.getGoodsList(); if (goods == null) { return; } for (GoodsVo goodsVo : goods) { redisService.set(GoodsKey.getGoodsStock, "" + goodsVo.getId(), goodsVo.getStockCount()); isOverMap.put(goodsVo.getId(), false);//先初始化 每個(gè)商品都是false 就是還有 }}

long stock = redisService.decr(GoodsKey.getGoodsStock, "" + goodsId);if (stock < 0) { isOverMap.put(goodsId, true);//沒有庫(kù)存就設(shè)置 對(duì)應(yīng)id 商品得map 為true return Result.error(CodeMsg.MIAO_SHA_NO_STOCK);}預(yù)減庫(kù)存:

1.先將所有數(shù)據(jù)讀出來,初始化到緩存中,并以 stock + goodid 得形成存入Redis,

2.在秒殺得時(shí)候,先進(jìn)行預(yù)減庫(kù)存檢測(cè),從redis中,利用decr 減去對(duì)應(yīng)商品得庫(kù)存,如果庫(kù)存小于0,說明此時(shí) 庫(kù)存不足,則不需要訪問數(shù)據(jù)庫(kù)。直接拋出異常即可

內(nèi)存標(biāo)記:

由于接口優(yōu)化很多基于Redis得緩存操作,當(dāng)并發(fā)很高得時(shí)候,也會(huì)給Redis服務(wù)器帶來很大得負(fù)擔(dān),如果可以減少對(duì)Redis服務(wù)器得訪問,也可以達(dá)到得優(yōu)化得效果。

于是,可以加一個(gè)內(nèi)存map,標(biāo)記對(duì)應(yīng)商品得庫(kù)存量是否還有,在訪問Redis之前,在map中拿到對(duì)應(yīng)商品得庫(kù)存量標(biāo)記,就可以不需要訪問Redis 就可以判斷沒有庫(kù)存了。

1.生成一個(gè)map,并在初始化得時(shí)候,將所有商品得id為鍵,標(biāo)記false 存入map中。

private Map<Long, Boolean> isOverMap = new HashMap<Long, Boolean>();等Overridepublic void afterPropertiesSet() throws Exception { List<GoodsVo> goods = goodsService.getGoodsList(); if (goods == null) { return; } for (GoodsVo goodsVo : goods) { redisService.set(GoodsKey.getGoodsStock, "" + goodsVo.getId(), goodsVo.getStockCount()); isOverMap.put(goodsVo.getId(), false);//先初始化 每個(gè)商品都是false 就是還有 }} boolean isOver = isOverMap.get(goodsId); if (isOver) { return Result.error(CodeMsg.MIAO_SHA_NO_STOCK); } if (stock < 0) { isOverMap.put(goodsId, true);//沒有庫(kù)存就設(shè)置 對(duì)應(yīng)id 商品得map 為true

2.在預(yù)減庫(kù)存之前,從map中取標(biāo)記,若標(biāo)記為false,說明庫(kù)存,還有,

3.預(yù)減庫(kù)存,當(dāng)遇到庫(kù)存不足得時(shí)候,將該商品得標(biāo)記置為true,表示該商品得庫(kù)存不足。這樣,下面得所有請(qǐng)求,將被攔截,無需訪問redis進(jìn)行預(yù)減庫(kù)存。

blog.csdn/weixin_38035852/article/details/81174986

 
(文/小編)
免責(zé)聲明
本文僅代表作發(fā)布者:個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請(qǐng)讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請(qǐng)及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
 

Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號(hào)

粵ICP備16078936號(hào)

微信

關(guān)注
微信

微信二維碼

WAP二維碼

客服

聯(lián)系
客服

聯(lián)系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號(hào): weishitui

客服001 客服002 客服003

工作時(shí)間:

周一至周五: 09:00 - 18:00

反饋

用戶
反饋

主站蜘蛛池模板: 国内精品久久久久久影院网站小说 | 99热久久国产精品这里有全部 | 在线视频一二三区2021不卡 | 成人a毛片免费全部播放 | 亚洲一区二区三区成人 | 毛片大全 | 日韩视频免费一区二区三区 | 久久久中文字幕 | 亚洲精品国产免费 | 日韩久久中文字幕 | 免费激情网址 | 国产羞羞视频在线播放 | 久久一区二区三区免费 | 99国产大尺度福利视频 | 国产综合久久久久久鬼色 | 日本免费黄色小视频 | 日韩中文字幕免费在线观看 | 中文乱码精品一区二区三区 | 国产精品香蕉一区二区三区 | 久久在线播放 | 成人三级视频在线观看 | 夜夜骑狠狠干 | 久久99精品久久久久久久不卡 | 亚洲视频免费一区 | 免费观看男女羞羞的视频网站 | 成人久久18免费游戏网站 | 夜夜操夜夜骑 | 日日射日日干 | 天天干夜夜爽天天操夜夜爽视频 | 日韩毛片在线观看 | 国产日产欧美精品一区二区三区 | 天堂一区 | 国国产自国偷自产第38页 | 97久久精品视频 | 日本老年人精品久久中文字幕 | 免费一级片视频 | 亚洲精品国产综合久久一线 | 日韩亚洲第一页 | 欧美性狂猛bbbbxxxx | 91亚洲国产在人线播放午夜 | 老妇女人一级毛片 |