cxgj/modules/api/models/ApiModel.php
2023-11-27 09:45:13 +08:00

38 lines
729 B
PHP

<?php
/**
* @author Any
* @description KISS
* @date 2020-12-1
* @version 1.0.0
*
* _____LOG_____
*
*/
namespace app\modules\api\models;
use app\models\Model;
class ApiModel extends Model
{
/**
* 重复提交锁
* @param $key
* @param $ttl
*/
public function lock($key, $ttl = 1)
{
$setnx = \Yii::$app->redis->setnx($key,1);
if(empty($setnx)){
$ttl_ = \Yii::$app->redis->ttl($key);
if($ttl_ === -1){
\Yii::$app->redis->expire($key,$ttl);
}
return $this->apiReturnError('请勿重复提交');
}
\Yii::$app->redis->expire($key, $ttl); //设置生成时间为1秒
return true;
}
}