redisson分布式限流RRateLimiter怎么使用


今天小编给大家分享一下redisson分布式限流RRateLimiter怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。实际结果:[2022-10-29 14:32:46.261][INFO免费云主机域名 ][main][][] RedisTest – get
[2022-10-29 14:32:46.312][INFO ][main][][] RedisTest – get
[2022-10-29 14:32:46.358][INFO ][main][][] RedisTest – get
[2022-10-29 14:32:47.416][INFO ][main][][] RedisTest – no
[2022-10-29 14:32:47.469][INFO ][main][][] RedisTest – no
[2022-10-29 14:32:47.517][INFO ][main][][] RedisTest – no
[2022-10-29 14:32:48.577][INFO ][main][][] RedisTest – no
[2022-10-29 14:32:48.623][INFO ][main][][] RedisTest – noHash结构 — 限流器结构:参数rate代表速率参数interval代表多少时间内产生的令牌参数type代表单机还是集群ZSET结构 — 记录获取令牌的时间戳,用于时间对比。1667025166312 –> 2022-10-29 14:32:461667025166262 –> 2022-10-29 14:32:461667025166215 –> 2022-10-29 14:32:46String结构 –记录的是当前令牌桶中的令牌数【很明显被我用完了现在是0】ZSET结构。– 新生成一个ZSET结构,存放获取令牌的时间戳String 结构 –当前令牌桶还有2个令牌初始化定义没有什么好讲的,就是创建HASH结构主要还是讲讲: rateLimiter.tryAcquire()主要就是这段lua代码,下面我详细过一下作者目前用的3.16.3版本,刚好遇见redisson的bug,见3197,请大家用最新版本,以下为修复后解析。这段lua代码也并不复杂,令牌桶的数量主要是通过时间窗口来控制,判断上一个请求是否超过了令牌生产周期。留下一个疑问?我自己在本地测试,只要超过10s,permitsName就不一样,这就导致了这部分数据是不能移除的,就产生了冗余数据,从前面的截图也可以看出,是新生成了一个zset数据结构。相当于直接走到了这一步:以上就是“redisson分布式限流RRateLimiter怎么使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注百云主机行业资讯频道。

相关推荐: javascript遍历对象的五种方式怎么实现

本篇内容介绍了“javascript遍历对象的五种方式怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先来准备一个测试对象obj。代码清单1这个是对象遍历…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/26 16:38
下一篇 02/26 16:38

相关推荐