这里是内容,我先试试水,一分享就 403, 很久前分享了其他内容,已经被 feng 了 3 个账号,没毛病,一点理由都不给,被安排的不明不白的,很霸气~
Github 地址:实战之限制操作频率
这样好像不会被 feng
为啥我把内容 makdown 帖进来就被封了呢???
1
IamNotShady 2019-06-05 22:52:58 +08:00
能结局时间边界问题吗?
|
2
IamNotShady 2019-06-05 22:53:30 +08:00
@IamNotShady 解决
|
3
acnes OP @IamNotShady 自问自答了呀
|
4
acnes OP 使用 markdown 分享文章是违规的吗?谁能告知下,好像没看到这个限制规则
|
5
rbe 2019-06-06 00:01:15 +08:00 1
个人觉得抽象的不是那么好。
1. RateLimiter 很可能条件是多个,比如 1 分钟只能发一条短信,同时 1 天最多只能发 5 条,这种情况下要调你的这个函数两次; 2. 点赞太多触发处罚,个人认为触发逻辑应该归触发逻辑,不应当杂糅到频率限制里去,当然这是个人做法; 3. 上一条说的个人觉得好的做法是给出 remaining 时间,即过了多久可以再操作 由于我是 Node 开发者,不是 PHP 开发,没法举 PHP 的例子,所以只好举个 NodeJS 的例子,TJ 大佬写的 RateLimiter 楼主不妨看看呢?我自己在业务里写的也是用 incryby + expireat 夹在 redis 事务里的形式,但是这里他用的时间戳排序的 zset 也是挺好的。 |
6
rbe 2019-06-06 00:02:24 +08:00
|
7
Distand 2019-06-06 16:19:16 +08:00
频率限制是在第一次操作时设置过期时间,无法适用如“近 N 秒内限制次数”的场景
|