星火编辑器简单好用的限流器如下:
限流器的应用
先看一段限流的解释
在星火里具体的应用场景我举两个例子:
客户端面对连点器,一段时间内面对连续点击只有第一次才会生效
服务端同步数据,比如我有一个频繁变更的数据想要同步给客户端,但是如果每次变更都同步就会每秒发几百上千次,但是实际上往往1s同步一次就够了,这时候也能用到限流器。
一段不太好的写法
前几天在群里看到有人分享了自己的限流逻辑不管用。(这部分为错误示例)
这段限流器确是漏洞有点多,具体漏洞就不分析了,简单来说就是上锁跟解锁不对等,解锁会解掉别人的锁。
而且使用计时器-等待这种操作确实不太优雅。(让我想到了睡眠排序法..)
我自己用起来比较舒服的限流器的一个写法
第一部分逻辑是用于清理无效数据,防止内存泄漏。
第二部分就是将解锁事件和key存在了一个表中做判断,逻辑非常简单,用起来也很好用。
限流器的扩展知识
限流器有多种,这里我们使用的是最简单的 使用后一段时间内禁止其他人使用。
还有漏桶,令牌桶等限流,具体知识可以去百度/谷歌只是留一个扩展,大家有兴趣的可以拓展一下。
以上就是星火编辑器简单好用的限流器相关内容。