加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中使用redis实现秒杀

发布时间:2020-12-13 21:23:42 所属栏目:PHP教程 来源:网络整理
导读:?php /** * $productTotal 商品总数 * $productSellNum 已售商品数量 * $currentBuyNum 当前购买数量 */ //商品总数 $productTotal = 100; //当前购买数量 $currentBuyNum = 5; try { $redis = new redis(); $result = $redis-connect('127.0.0.1',6379); if

<?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 "抢购结束";
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读