大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说php用redis 实现秒杀功能_redis实现秒杀原理,希望您对编程的造诣更进一步.
<?php
/**
* $productTotal 商品总数
* $productSellNum 已售商品数量
* $currentBuyNum 当前购买数量
*/
//商品总数
$productTotal = 100;
代码100分
代码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 "抢购结束";
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8700.html