PHP 如何使用 Redis 限制表单提交成功五次后不能再提交了?我发现这样写好像不行,不能判断是否入库成功
/**************/
//获取当前的ip,限制每个ip只能提交五次
$user_ip = Common_Common::getRealIp();
if($user_ip){
//这个key记录该用户的访问次数
$key = $user_ip;
//定义限制次数
$limit = 5;
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379, 30);
$check = $redis->exists($key);
if($check){
if(Service_VideoComment::add($row)){
$redis->incr($key); //键值递增
$count = $redis->get($key);
if($count > $limit){
$return = array(
"status" => 0,
"msg" => "温馨提示:您的信息已存在,请直接咨询在线客服!"
);
exit(json_encode($return));
}
}
}else{
if(Service_VideoComment::add($row)){
$redis->incr($key);
}
}
}
/**************/
每次进来查一下这个ip的提交次数,如果大于等于5次,直接驳回。
不大于5在下面进行表单入库,入库成功后当前ip提交次数加1。
建议incrby放在最开始,判断返回值是否大于5