老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

redis中怎么防止搶購商品超賣

本篇文章為大家展示了redis中怎么防止搶購商品超賣,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

成都創新互聯-專業網站定制、快速模板網站建設、高性價比吐魯番網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式吐魯番網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋吐魯番地區。費用合理售后完善,10多年實體公司更值得信賴。

  • 使用redis的list進行測試

思路是設置一個redis列表List,假設有十個商品,每次請求先判斷List的長度,小于十就能搶到商品,將用戶信息存放到List中。代碼如下

 //進行搶購    protected function way_list(){$num = $this->redis->lLen();if($this->redis->lLen()>=self::AMOUNTLIMIT){$this->writeLog("搶購失敗".$num);return;}else{$this->redis->rPush($num);$this->writeLog("搶購成功".$num);}}

結果:失敗!

redis中怎么防止搶購商品超賣

可以很明顯數量不對順序也不對。

分析了下原因,在代碼執行時,多用戶并發請求時,第一個用戶判斷List長度符合條件還未進行List寫入時,第二個用戶也通過了List長度判斷。所以就導致執行失敗。

這就沒有利用到redis的原子性

所以進行了改良

  • 使用redis 的incrby。incrby將制定key 的值增加指定的增量,并返回增量后的值。是一個原子性操作。所謂的原子性操作就是執行該方法后要嘛成功要嘛失敗。

思路就是設置一個鍵值對存放被搶購數量,每次一個用戶進來就將該值加一進行判斷,如果小于搶購的商品數量則搶購成功,否則失敗。代碼如下

 protected function way_string(){//判斷是否有初始化        if(!$this->redis->exists(self::sold_name)){$this->redis->setnx(self::sold_name,0);}if($this->redis->incrby(self::sold_name,1) > self::AMOUNTLIMIT){$this->writeLog('失敗');}else{$this->writeLog('成功');}}

結果

redis中怎么防止搶購商品超賣

壓力測試了幾次都沒有出現問題

redis中怎么防止搶購商品超賣

通過apache自帶的ab壓力測試,進行五百次連接請求,并發三百次,沒有出現超賣行為。

總結:會出現超賣主要是由于用戶在請求的時候,代碼在執行是有先后,會導致執行結果不符合預期。而采用redis的原子性就能避免。

上述內容就是redis中怎么防止搶購商品超賣,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。


文章標題:redis中怎么防止搶購商品超賣
分享URL:http://www.xueling.net.cn/article/pdshsd.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 日韩在线理论 | 精品大片一区二区 | 国精产品一区一区三区免费完 | AAAA级少妇高潮大片在线观看 | 91新人在线观看 | 中日韩三级视频 | 久久aⅴ乱码一区二区三区 国产精品99一区二区 | 日韩欧美国产综合在线一区二区三区 | 日韩成人一区二区三区在线观看 | 欧美熟妇另类久久久久久不卡 | 国产高潮又爽又刺激的视频 | 成熟少妇大片免费看 | 亚洲人成图片小说网站 | 成人在线免费观看小视频 | а天堂中文在线官网 | 成年美女色黄网站视频网站 | 西西人体大胆扒开下部337卩 | CHINESE少妇激情 | gogogo高清在线观看中文版二 | 国产精品免费视频xxxx | 日韩免费va | 九九九九热精品免费视频点播观看 | 91麻豆国产精品 | 久久久久国产精品熟女影院 | 久久久亚洲欧洲日产国产成人无码 | 午夜福利影院私人爽爽 | 免费无码又爽又刺激A片软件妖精 | 91亚洲免费 | 日出水了好爽视频 | 992tv人人网tv亚洲精品 | 亚洲视频在线观看一区 | 91精品欧美久久久久久动漫 | 最近2019中文免费高清视频观看www99 | 亚洲AV第一成肉网 | 91色一区二区三区 | 91怡红院 | 国产Av影片麻豆精品传媒 | 成人免费视频视频在线观看免费 | 日本在线观看一区二区三区 | 日韩一级特黄毛片 | 国产亚洲影视在线视频播放 |