任何需求都要认真思考,不要想当然,多想多做多自测,感谢慕课网提供优秀的视频资源帮助我进步。
//第一种思路
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');
}