require_once "db.php"; $redis = new redis(); $redis->connect("127.0.0.1",6379); $limit = 1; //庫存3個 $redis->watch("watchkey");//命令監事、監視銷量 $watchkey = $redis->get("watchkey"); ///獲取一個建的值 if($watchkey >= $limit){ echo "活動結束"; exit; } $redis->multi(); //開啓事務 $redis->set("watchkey",$watchkey+1); //成功了才+1 sleep(2); $result = $redis->exec(); //返回成功或者失敗 if($result){ //準備SQL語句 $sql = "select * from zichaxun where name='pc'"; //執行SQL語句 $query = $con->query($sql); $arr = $query->fetch_array(); if($arr["num"]>0){ $sql = "update zichaxun set num = num -1 where name ='pc'"; $res = $con->query($sql); if($res){ echo "庫存減少"; }else{ echo '失敗'; } }else{ echo "沒有庫存"; } //釋放資源 $query->close(); //關閉連接 $con->close(); }else{ echo "失敗"; }
PHP redis 秒殺
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.