redis令牌桶解决高并发

redis令牌桶解决高并发

通过令牌桶限制大流量访问;先初始化每分钟或者每秒钟最大访问数称之为配额;通过一个桶承载着这个配额的token;每个请求携带其中一个token;业务处理完之后再把token放回桶中;处理的速率与服务器配置相关;采用redis左进右出规则;即可实现熔断机制。

1.连接redis

redis令牌桶解决高并发

2.添加令牌;获取令牌

redis令牌桶解决高并发

3.重置令牌

redis令牌桶解决高并发

4.模拟用户请求:构造函数中设置最大配额为3;进行测试。

redis令牌桶解决高并发

5.添加令牌每次只能添加的数量。因为消费完token之后是要重新往令牌桶中添加至满的!

redis令牌桶解决高并发

6.投递令牌控制

redis令牌桶解决高并发

那么基本的redis决定高并发就到此结束了,当然还有其他的算法;限制每个用户每分钟访问次数,每天访问次数.....加油!