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 相关文章推荐
我的论坛源代码(十)
Oct 09 PHP
PHP版 汉字转码的实现详解
Jun 09 PHP
浅析PHP的ASCII码转换类
Jul 05 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
Sep 26 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 PHP
thinkphp多层MVC用法分析
Dec 30 PHP
Laravel5.7 Eloquent ORM快速入门详解
Apr 12 PHP
Laravel 模型关联基础教程详解
Sep 17 PHP
php装饰者模式简单应用案例分析
Oct 23 PHP
PHP文件打开关闭及读写操作示例解析
Aug 06 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
Oct 20 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 adodb连接不同数据库
2009/03/19 PHP
PHP 编程安全性小结
2010/01/08 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
javascript的数组和常用函数详解
2014/05/09 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
js操作滚动条事件实例
2015/01/29 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
关于微信中a链接无法跳转问题
2016/08/02 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
Django接受前端数据的几种方法总结
2016/11/04 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
Python垃圾回收机制三种实现方法
2020/04/27 Python
python如何更新包
2020/06/11 Python
Pycharm调试程序技巧小结
2020/08/08 Python
用html5的canvas画布绘制贝塞尔曲线完整代码
2013/08/14 HTML / CSS
H5 meta小结(前端必看篇)
2016/08/24 HTML / CSS
美国网上购买眼镜:Eyeconic
2017/07/29 全球购物
Order by的几种用法
2013/06/16 面试题
房地产项目策划书
2014/02/05 职场文书
生日宴会祝酒词
2015/08/10 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
HTML常用标签超详细整理
2022/03/19 HTML / CSS
MySQL Server层四个日志的实现
2022/03/31 MySQL