php redis并发处理

日期:2019-06-13 浏览:237次
//php秒杀 redis并发处理
public function miaoshao()
{
    $redis = new Redis;//diy redis操作类

    $kuchun = $redis -> get('kucun');
    $total  = 100;

    if ($kuchun <= $total){
        //有库存
        $redis -> watch('kucun');
        //开启事务
        $redis->mulit();
        $redis->set("kucun",$kuchun+1);
        //执行事务
        $result = $redis->exec();
        if($result){
            //$openid 用户id
            $openid = 1212;
            $redis-> hset("list","user_".$openid,$kuchun);
            //获取抢购成功的用户
            $data = $redis-> hgetall('list');
            dump($data);
            //剩余数量
            $number = $total - ($kuchun +1);
            dump($number);
        }else{
            return '手气很差哦,再试一下!';
        }
    }else{
        return '已经被抢光了';
    }
}

没有评论

发表评论