不言不语

您现在的位置是: 首页 >  数据库  >  Redis

Redis

redis实例:限制访问次数

2022-05-28Redis
上文我们用redis演示了每分钟只允许访问一次,接下来我们演示一下共允许调用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];}


文章评论