yii框架redis结合php实现秒杀效果(实例代码)


Posted in PHP onOctober 26, 2017

废话不多说了,直接给大家贴代码了,具体代码如下所示:

<?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('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(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 "秒杀失败";
}
}
}
?>

总结

以上所述是小编给大家介绍的yii框架redis结合php实现秒杀效果(实例代码),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
php checkbox复选框值的获取与checkbox默认值输出方法
May 15 PHP
php文件上传的简单实例
Oct 19 PHP
phpQuery占用内存过多的处理方法
Nov 13 PHP
php树型类实例
Dec 05 PHP
php内存缓存实现方法
Jan 24 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
PHP实现的超长文本分页显示功能示例
Jun 04 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
Sep 18 PHP
PHP htmlspecialchars_decode()函数用法讲解
Mar 01 PHP
Yii2处理密码加密及验证的方法
May 12 PHP
php的命名空间与自动加载实现方法
Aug 25 PHP
PHP数组Key强制类型转换实现原理解析
Sep 01 PHP
PHP对象的浅复制与深复制的实例详解
Oct 26 #PHP
PHP中的浅复制与深复制的实例详解
Oct 26 #PHP
thinkPHP5实现数据库添加内容的方法
Oct 25 #PHP
thinkPHP5分页功能实现方法分析
Oct 25 #PHP
thinkPHP框架中执行原生SQL语句的方法
Oct 25 #PHP
php调用云片网接口发送短信的实现方法
Oct 25 #PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
Oct 25 #PHP
You might like
php 获取mysql数据库信息代码
2009/03/12 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
2010/12/29 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
js left,right,mid函数
2008/06/10 Javascript
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
jquery中each循环的简单回滚操作
2017/05/05 jQuery
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
jquery层次选择器的介绍
2019/01/18 jQuery
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
js实现数字滚动特效
2019/12/16 Javascript
python strip()函数 介绍
2013/05/24 Python
Python高级用法总结
2018/05/26 Python
python文件选择对话框的操作方法
2019/06/27 Python
Python的条件锁与事件共享详解
2019/09/12 Python
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
狗狗玩具、零食和咀嚼物的月度送货服务:Super Chewer
2018/08/22 全球购物
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
三分钟自我介绍演讲稿
2014/08/21 职场文书
中班上学期个人总结
2015/02/12 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
Jupyter Notebook内使用argparse报错的解决方案
2021/06/03 Python