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的配置文件php.ini
Oct 09 PHP
PHP VS ASP
Oct 09 PHP
PHP简洁函数小结
Aug 12 PHP
php字符编码转换之gb2312转为utf8
Oct 28 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
ThinkPHP中使用Ueditor富文本编辑器
Sep 02 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 PHP
php中final关键字用法分析
Dec 07 PHP
thinkPHP模板引擎用法示例
Dec 08 PHP
PHP基于ORM方式操作MySQL数据库实例
Jun 21 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
Jul 10 PHP
因str_replace导致的注入问题总结
Aug 08 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实现 上一篇、下一篇的代码
2012/09/29 PHP
Zend Framework教程之资源(Resources)用法实例详解
2016/03/14 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
基于json的jquery地区联动效果代码
2011/07/06 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
bootstrap table复杂操作代码
2016/11/01 Javascript
Vue.js组件tab实现选项卡切换
2020/03/23 Javascript
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
[43:57]Liquid vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
简单谈谈python中的多进程
2016/11/06 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
python语音识别实践之百度语音API
2018/08/30 Python
python版飞机大战代码分享
2018/11/20 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
法国滑雪假期的专家:Ski Planet
2019/11/02 全球购物
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
2014年党支部书记工作总结
2014/12/04 职场文书
党员个人承诺书
2015/04/27 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书
安全生产培训心得体会
2016/01/18 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle
zabbix配置nginx监控的实现
2022/05/25 Servers