使用 redis 減少 秒殺庫存 超賣思路 (轉)


 

由於數據庫查詢的及插入的操作 耗費的實際時間要耗費比redis 要多,

導致 多人查詢時庫存有,但是實際插入數據庫時卻超賣

redis 會有效的減少相關的延時,對於並發量相對較少的 可以一用

復制代碼
 1     public function buy($goods_id = 0){  
 2         if(!$goods_id){  
 3             die("商品不存在!");  
 4         }  
 5         $redis = new Redis();  
 6         $redis->connect('127.0.0.1',6379);  
 7         $stock = 0;  
 8         if(!$redis->get("gid".$goods_id)){  
 9             $stock = get_stock($goods_id); //從數據看獲取實際庫存  
10             $redis->set("gid".$goods_id,$stock);  
11         }else{  
12             $stock = $redis->get("gid".$goods_id);  
13         }  
14       
15         if($stock > 0){  
16             //邏輯操作 代碼  
17             //coding here...  
18             set("gid".$goods_id,$stock-1);  
19         }else{  
20             die("已賣完!");  
21         }  
22     }  
復制代碼

 

轉載自:https://www.cnblogs.com/zuochuang/p/7262399.html

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM