加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜新站长网 (https://www.0418zz.com.cn/)- 管理运维、AI硬件、数据集成、云备份、负载均衡!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

yii框架redis结合php实现秒杀效果

发布时间:2022-07-04 09:30:49 所属栏目:PHP教程 来源:互联网
导读:废话不多说了,直接给大家贴代码了,具体代码如下所示: ?php namespace backendcontrollers; use Yii; use yiiwebController; /** * */ class GoodsController extends Controller { public $enableCsrfValidation=false; public function actionInfo()
  废话不多说了,直接给大家贴代码了,具体代码如下所示:
 
  <?php
  namespace backendcontrollers;
  use Yii;
  use yiiwebController;
  /**
  *  
  */
  class GoodsController extends Controller
  {
  public $enableCsrfValidation=false;
  public function actionInfo()
  {
  $data=yii::$app->db->createCommand("select * from goods ")->queryAll();
  return $this->render('index',['data'=>$data]);
  }
  Public function actionXx()
  {
  $id=yii::$app->request->get('id');
  $data=yii::$app->db->createCommand("select * from goods where id='$id'")->queryOne();
  return $this->render('info',['data'=>$data]);
  }
  Public function actionAdd()
  {
  $a=yii::$app->redis;
  if (Yii::$app->request->isPost)
  {
  $data=yii::$app->request->post();
  $res=yii::$app->db->createCommand()->insert('goods',$data)->execute();
  if($res)
  {
  for ($i=0; $i <$data['counts'] ; $i++)
  {  
  $a->lpush('goods',1);
  }
  return $this->redirect(array('goods/info'));
  }
  else
  {
  echo "添加失败";
  }
  }
  else
  {
  return $this->render('add');
  }
  }
  public function actionOrder()
  {
  $redis=yii::$app->redis;
  $count=$redis->lpop('goods');
  if(emptyempty($count))
  {
  echo "库存不足";die;
  }
  $res=yii::$app->db->createCommand("update goods set counts=counts-1 where id=1 and counts>0")->execute();
  if($res) //phpfensi.com
  {
  echo "秒杀成功";
  }
  else
  {
  echo "秒杀失败";
  }
  }
  }
  ?>
 

(编辑:阜新站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读