$redis = Yii::
$app
->redis;
// $redis->set(‘num’,’200′);
// $num = $redis->get(‘num’);
// echo $redis->unwatch();die;
$redis->watch(‘sales’);//乐观锁 监视作用 set() 初始值0
$sales=$redis->get(‘sales’);
$n=900;
if($sales>=$n){
exit(‘秒杀结束’);
}
//开启事务
$redis->multi();
$redis->incr(‘sales’); //将 key 中储存的数字值增一 ,如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
$res=$redis->exec(); //成功1 失败0
if($res) {
//秒杀成功
$model = new DayOrder();
$model->sale_num = 1;
$model->day = date(‘Y-m-d H:i:s’);
if ($model->save())
{
echo “秒杀完成”;
}
}else{
exit(‘抢购失败’);
}