码迷,mamicode.com
首页 > Web开发 > 详细

php中使用redis实现秒杀

时间:2020-04-30 15:52:47      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:exec   result   ESS   product   get   return   turn   连接失败   exce   


<?php
/**
* $productTotal 商品总数
* $productSellNum 已售商品数量
* $currentBuyNum 当前购买数量
*/

//商品总数
$productTotal = 100;
//当前购买数量
$currentBuyNum = 5;
try {
$redis = new redis();
$result = $redis->connect(‘127.0.0.1‘,6379);
if(!$result){
throw new Exception(‘redis连接失败‘);
}
} catch (Exception $e){
echo $e->getMessage();
die;
}

//监视 product_sell_num
$redis->watch(‘product_sell_num‘);
//已售商品数量
$productSellNum = $redis->get(‘product_sell_num‘);
//判断商品是否剩余
if($productSellNum + $currentBuyNum <= $productTotal){
$redis->multi();
$redis->set(‘product_sell_num‘,$productSellNum + $currentBuyNum);
$status = $redis->exec();
if($status){
//对购买信息处理
}else{
return "抢购失败";
}
}else{
return "抢购结束";
}

php中使用redis实现秒杀

标签:exec   result   ESS   product   get   return   turn   连接失败   exce   

原文地址:https://www.cnblogs.com/WebLinuxStudy/p/12808744.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!