使用redis避免相同请求反复提交,实现幂等操作

场景举例:同一用户因为客户端或者网络卡顿,提交评论时,连续点击提交,重复评论相同内容

方法:通过redis分布式锁

function isIdempotent( $uid, $content)
{ 
       $redis = RedisService::getInstance();
       $key = 'lock:' . md5($uid . $target_id . $comment);
       if(!empty($redis->get($key))){
           return \ApiResponse::fail(ResultCode::REPEATPOST);
       }else{
           $redis->setex($key, 5, 1);
       }
}

 

你可能感兴趣的:(redis)