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中将字符串转化为整数(int) intval() printf() 性能测试
Mar 20 PHP
php curl的深入解析
Jun 02 PHP
PHP5函数小全(分享)
Jun 06 PHP
Drupal读取Excel并导入数据库实例
Mar 02 PHP
php中有关合并某一字段键值相同的数组合并的改进
Mar 10 PHP
微信支付PHP SDK ―― 公众号支付代码详解
Sep 13 PHP
php 生成Tab键或逗号分隔的CSV
Sep 24 PHP
php二维码生成以及下载实现
Sep 28 PHP
PHP设计模式之原型模式定义与用法详解
Apr 03 PHP
Yii2.0 RESTful API 基础配置教程详解
Dec 26 PHP
PHP进阶学习之反射基本概念与用法分析
Jun 18 PHP
Laravel框架实现文件上传的方法分析
Sep 29 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 aes (ecb)解密后乱码问题
2015/06/22 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
php libevent 功能与使用方法详解
2020/03/04 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
javascript 三种编解码方式
2010/02/01 Javascript
this和执行上下文实现代码
2010/07/01 Javascript
js带按钮的提示框可供选择示例代码
2013/09/17 Javascript
js禁止回车提交表单的示例代码
2013/12/23 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
使用jquery实现放大镜效果
2014/09/02 Javascript
让人蛋疼的JavaScript语法特性
2014/09/30 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
原生js实现模拟滚动条
2015/06/15 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
JS之相等操作符详解
2016/09/13 Javascript
ReactJs快速入门教程(精华版)
2016/11/28 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
2016/12/21 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
vue 数据操作相关总结
2020/12/17 Vue.js
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
Python3里的super()和__class__使用介绍
2015/04/23 Python
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
Python 自动登录淘宝并保存登录信息的方法
2019/09/04 Python
学校运动会开幕演讲稿
2014/01/04 职场文书
学生会部长竞聘书
2014/03/31 职场文书
教师节宣传方案
2014/05/23 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
2015年七夕情人节感言
2015/08/03 职场文书
MySQL外键约束(FOREIGN KEY)案例讲解
2021/08/23 MySQL
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL