PHP redis 秒杀

6 篇文章 0 订阅
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 "失敗";
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值