专栏名称: 程序员鱼皮
鹅厂全栈开发,持续分享编程技法和实用项目
目录
相关文章推荐
算法爱好者  ·  字节“代码抄袭案”败诉,判赔 8267 万! ·  2 小时前  
阿里开发者  ·  「缓存」会用很容易,用好才是技术活 ·  昨天  
百度智能云  ·  首日1.5万后,百度智能云千帆助力DeepS ... ·  2 天前  
百度智能云  ·  如何在百度百舸部署满血版DeepSeek-V ... ·  5 天前  
九章算法  ·  Meta大裁员10%!疑为TikTok人才“ ... ·  3 天前  
51好读  ›  专栏  ›  程序员鱼皮

今日代码大赏 | Redisson 限流

程序员鱼皮  · 公众号  ·  · 2024-03-28 20:14

正文

作为后端开发,我们免不了要经常跟锁打交道,

其中 Redisson 框架里包含了强大的分布式锁实现,

但除了分布式锁, Redisson 还有限流的功能。

假设我们已经写好了配置及配置类,

就可以通过下面的代码非常简单的实现限流,

示例代码:

@Resource
private RedissonClient redissonClient;

public void doRateLimit(String key) {
    if (StringUtils.isBlank(key)) {
        return;
    }
    // 用户限流,每 3 秒 1 次
    RRateLimiter rateLimiter = redissonClient.getRateLimiter(key);
    // 设置限流参数,比如每秒钟最多处理的请求数
    rateLimiter.trySetRate(RateType.OVERALL, 13, RateIntervalUnit.SECONDS);
    boolean permit = rateLimiter.tryAcquire();
    if (!permit) {
        throw new RuntimeException("操作过于频繁");
    }
}

完整代码片段来源于代码小抄,欢迎点击进入小程序阅读!

在线访问:https://www.codecopy.cn/post/tzwijz

更多优质代码欢迎进入小程序查看!

往期推荐

今日代码大赏 | MyBatis-Plus 优雅查询

今日代码大赏 | 集合高阶操作







请到「今天看啥」查看全文