Beispielanalyse des Yii-Frameworks redis+php, um einen Flash-Sale-Effekt zu erzielen

黄舟
Freigeben: 2023-03-16 19:34:01
Original
1485 Leute haben es durchsucht

Ohne weitere Umschweife werde ich einfach den Code für Sie veröffentlichen. Der spezifische Code lautet wie folgt:

<?php
namespace backend\controllers;
use Yii;
use yii\web\Controller;
/**
* 
*/
class GoodsController extends Controller
{
public $enableCsrfValidation=false;
public function actionInfo()
{
$data=yii::$app->db->createCommand("select * from goods ")->queryAll();
return $this->render(&#39;index&#39;,[&#39;data&#39;=>$data]);
}
Public function actionXx()
{
$id=yii::$app->request->get(&#39;id&#39;);
$data=yii::$app->db->createCommand("select * from goods where id=&#39;$id&#39;")->queryOne();
return $this->render(&#39;info&#39;,[&#39;data&#39;=>$data]);
}
Public function actionAdd()
{
$a=yii::$app->redis;
if (Yii::$app->request->isPost)
{
$data=yii::$app->request->post();
$res=yii::$app->db->createCommand()->insert(&#39;goods&#39;,$data)->execute();
if($res)
{
for ($i=0; $i <$data[&#39;counts&#39;] ; $i++)
{ 
$a->lpush(&#39;goods&#39;,1);
}
return $this->redirect(array(&#39;goods/info&#39;));
}
else
{
echo "添加失败";
}
}
else
{
return $this->render(&#39;add&#39;);
}
}
public function actionOrder()
{
$redis=yii::$app->redis;
$count=$redis->lpop(&#39;goods&#39;);
if(empty($count))
{
echo "库存不足";die;
}
$res=yii::$app->db->createCommand("update goods set counts=counts-1 where id=1 and counts>0")->execute();
if($res)
{
echo "秒杀成功";
}
else
{
echo "秒杀失败";
}
}
}
?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonBeispielanalyse des Yii-Frameworks redis+php, um einen Flash-Sale-Effekt zu erzielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage