上文我們演示了每分鐘只允許訪問一次,接下來我們演示一下共允許調用1000次,常見業務場景如快遞信息調取接口,接口是付費的。比如100元可以查詢1000次。
## 共允許調用1000次
~~~
public function somthing($user_id)
{
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
// 次數用完就拒絕調用
if ($redis->get("count:{$user_id}") == 0) {
return ['code' => 422, 'message' => '次數已用完,請充值'];
}
// 在購買接口的時候,支付成功的回調接口中應把調用次數存入 redis 中,供本接口使用
// 調用次數存入 Redis $redis->set("count:{$user_id}", 1000);
// ==========
// do somthing
// ==========
$data = "result";
// 執行過代碼后就把調用次數減少一次
$redis->decr("count:{$user_id}"));
return ["code" => 200, "message" => '操作成功', "data" => $data];
}
~~~