基于Redis + Lua脚本语言 + 注解:构建高效的请求接口限流方案

为什么接口限流

  • 黑客疯狂请求系统接口的某一个接口 而且每次都需要数据库io操作 。如果并发量很大。导致的结果就是 宕机。

解决方案很多 今天我们就先来基于Redis + Lua脚本语言 + 注解:构建高效的请求接口限流方案

限流效果 ~~~~连续点击 源码地址在最下面

在这里插入图片描述

lua安装、环境变量配置、ldea插件选择

帮助文档1
帮助文档2

编写lua限流脚本

在这里插入图片描述

在 ClassPathResource 的lua下

RedisLimitConfig

在这里插入图片描述

注解CurrentLimiter

在这里插入图片描述

aop解析注解CurrentLimiter

在这里插入图片描述

使用controller

  @GetMapping("redis-lua-limiter-annotation")
    @ApiOperation("接口限流-注解-aop")
    @CurrentLimiter(limit = 3) // 每秒最多请求三次
    public ResponseVO<String> redisLuaLimitAnnotation() {
   
        String name = redisServiceUtil.get("name");
        return ResponseVO.success(name) ;
    }

源码地址

最近更新

  1. TCP协议是安全的吗?

    2024-01-08 07:06:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-08 07:06:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-08 07:06:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-08 07:06:06       20 阅读

热门阅读

  1. 云原生和Kubernetes如何简化应用程序开发

    2024-01-08 07:06:06       31 阅读
  2. 游戏美术的技与艺

    2024-01-08 07:06:06       38 阅读
  3. 2024校招,京东科技测试开发工程师二面

    2024-01-08 07:06:06       37 阅读
  4. 什么是缓存、为什么要用缓存

    2024-01-08 07:06:06       40 阅读
  5. Hive SQL / SQL

    2024-01-08 07:06:06       32 阅读