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程序员最常犯的11个MySQL错误小结
Nov 20 PHP
php学习笔记之 函数声明
Jun 09 PHP
php适配器模式介绍
Aug 14 PHP
探讨file_get_contents与curl效率及稳定性的分析
Jun 06 PHP
PHP小技巧之函数重载
Jun 02 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
Sep 09 PHP
避免Smarty与CSS语法冲突的方法
Mar 02 PHP
PHP生成图像验证码的方法小结(2种方法)
Jul 18 PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 PHP
PHP simplexml_load_file()函数讲解
Feb 03 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
May 09 PHP
Swoole4.4协程抢占式调度器详解
May 23 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
玛琪朵 Macchiato
2021/03/03 咖啡文化
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
PHP中实现图片的锐化
2006/10/09 PHP
PHP5中的时间相差8小时的解决办法
2008/03/28 PHP
PHP设计模式之命令模式的深入解析
2013/06/13 PHP
PHP实现多进程并行操作的详解(可做守护进程)
2013/06/18 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
jquery ajax 登录验证实现代码
2009/09/23 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
微信企业号开发之微信考勤百度地图定位
2015/09/11 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
jquery实现图片列表鼠标移入微动
2016/12/01 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
详解Vue2.0之去掉组件click事件的native修饰
2017/04/20 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
layui操作列按钮个数和文字颜色的判断实例
2019/09/11 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
python关键字and和or用法实例
2015/05/28 Python
Python中functools模块函数解析
2017/03/12 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
python 字典item与iteritems的区别详解
2020/04/25 Python
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
世界上最大的网络主机公司:1&1
2016/10/12 全球购物
餐厅考勤管理制度
2014/01/28 职场文书
八一建军节感言
2014/02/28 职场文书
总经理任命书范本
2014/06/05 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
党员对照检查材料
2014/09/22 职场文书
2015年青年教师工作总结
2015/05/25 职场文书