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实现从ftp服务器上下载文件树到本地电脑的程序
Feb 10 PHP
php microtime获取浮点的时间戳
Feb 21 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
Oct 15 PHP
smarty半小时快速上手入门教程
Oct 27 PHP
thinkphp浏览历史功能实现方法
Oct 29 PHP
php中opendir函数用法实例
Nov 15 PHP
php+ajax实时输入自动搜索匹配的方法
Dec 26 PHP
PHP简单实现DES加密解密的方法
Jul 12 PHP
yii2安装详细流程
May 23 PHP
php支付宝系列之电脑网站支付
May 30 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
Oct 11 PHP
goto语法在PHP中的使用教程
Sep 17 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
sql注入与转义的php函数代码
2013/06/17 PHP
解析thinkphp import 文件内容变量失效的问题
2013/06/20 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
php中mysql操作buffer用法详解
2015/03/19 PHP
ZF框架实现发送邮件的方法
2015/12/03 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
2016/09/11 PHP
php简单实现文件或图片强制下载的方法
2016/12/06 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
php从身份证获取性别和出生年月
2017/02/09 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
PHP使用PDO 连接与连接管理操作实例分析
2020/04/21 PHP
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
jQuery Ajax 上传文件处理方式介绍(推荐)
2016/06/30 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
js实现倒计时关键代码
2017/05/05 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
2017/07/23 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
学python安装的软件总结
2019/10/12 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
基于jupyter代码无法在pycharm中运行的解决方法
2020/04/21 Python
欧姆龙医疗保健与医疗产品:Omron Healthcare
2020/02/10 全球购物
员工评语大全
2014/01/19 职场文书
感恩母亲节活动方案
2014/03/04 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书