秒杀抽奖防超卖

任何需求都要认真思考,不要想当然,多想多做多自测,感谢慕课网提供优秀的视频资源帮助我进步。

//第一种思路
function v1()
{
    //奖励限额
    $amountLimit = 100;
    //计数器名称
    $keyName = getKeyName('v1');
    $redis   = getRedisClient();
    //每次步进1
    $increAmount = 1;
    if (!$redis->exits($keyName)) {
        $redis->set($keyName, 95);
    }
    $currentAmount = $redis->get($keyName);
    if ($currentAmount + $increAmount > $amountLimit) {
        writeLog('Bad Luck', 'v1');
        return;
    }
    $redis->increBy($keyName, $increAmount);
    writeLog('Good Luck', 'v1');
}

//第二种思路
function v2()
{
    //奖励限额
    $amountLimit = 100;
    //计数器名称
    $keyName = getKeyName('v2');
    $redis   = getRedisClient();
    //每次步进1
    $increAmount = 1;
    if (!$redis->exits($keyName)) {
        $redis->setnx($keyName, 95);
    }
    if ($redis->increBy($keyName, $increAmount) > $amountLimit) {
        writeLog('Bad Luck', 'v2');
        return;
    }
    writeLog('Good Luck', 'v2');
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值