由於數據庫查詢的及插入的操作 耗費的實際時間要耗費比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

