代码拉取完成,页面将自动刷新
<?php
class Index
{
// 查看商品数量
public function getproducts(){
$products = Db::table("products")->find(["id" => 1]);
}
// 下单扣库存
public function reduce_stock(){
Db::table("products")->startTrans();
try{
$products = Db::table("products")->find(["id" => 1]);
if($products['store']>0){
$products['store'] = $products['store'] - 1;
Db::table("products")->update($products);
echo '秒杀成功';
}else{
echo '秒杀结束';
}
Db::table("products")->commit();
} catch (Exception $e){
Db::table("products")->rollback();
echo $e->getMessage();
}
echo '<br/>';
var_dump($products);
}
// 商品加入队列
public function add_queue(){
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$store = 10;
$len = $store - $redis->Lsize("goods_nums");
for($i = 0; $i < $len; $i++){
$redis->lpush("goods_nums",microtime());
}
$products = $redis->lRange("goods_nums",0,-1);
var_dump($products);
}
// 商品出队列
public function delete_queue(){
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
$len = $redis->Lsize("goods_nums");
if($len > 0){
$arr = $redis->rPop("goods_nums");
$products = Db::table("products")->find(["id" => 1]);
var_dump($products['store']);
if($products['store']>0){
$products['store'] = $products['store'] - 1;
Db::table("products")->update($products);
echo '秒杀成功';
}else{
echo '秒杀结束1';
}
}else{
echo '秒杀结束';
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。