使用redis避免客户端频繁提交数据
Posted 逆水行舟,不进则退
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用redis避免客户端频繁提交数据相关的知识,希望对你有一定的参考价值。
避免客户端频繁向服务器提交表单的解决方案
使用redis
在order的model中增加函数
public function isDataLocked($key, $duration = 3600) { try{ $key = "lock_" . $key; $num = $this->redis->incr($key); $this->redis->expire($key, $duration); if ($num > 1) { return true; } else { return false; } } catch (Exception $e) { $this->log->logE($e->getMessage()); return false; } }
在提交表单时
if ($this->model("Model_Order")->isDataLocked($key, 5)) { return $this->err(Common_Status::OUT_OF_FRENQUENCY, "Your operation is too frequent."); }
以上是关于使用redis避免客户端频繁提交数据的主要内容,如果未能解决你的问题,请参考以下文章