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

为什么接口限流

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

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

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

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

帮助文档1
帮助文档2

编写lua限流脚本

在 ClassPathResource 的lua下

RedisLimitConfig

注解CurrentLimiter

aop解析注解CurrentLimiter

使用controller

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

源码地址

相关推荐
最后一支迷迭香6 小时前
Redis+ThreadLocal实现防重复提交,参考美团GTIS防重系统
redis·threadlocal·防止重复提交
我叫Double10 小时前
简易版的EINO基于redis库的向量搜索项目v2
数据库·redis·bootstrap
techdashen11 小时前
dial9:给 Tokio 装上“飞行记录仪“
java·数据库·redis
环流_14 小时前
Redis过期策略
数据库·redis·缓存
曲幽15 小时前
让 FastAPI Agent 思考不阻塞:手把手教你实现异步任务与后台处理方案
redis·python·agent·fastapi·web·async·celery·ai agent·backgroundtask
van久15 小时前
Day30:Redis 缓存策略 + 菜单实战缓存 + 三大缓存问题(穿透 / 击穿 / 雪崩)
数据库·redis·缓存
与数据交流的路上16 小时前
Redis-jedis连接池配置错误导致Redis CPU飙高
数据库·redis·缓存
杂家16 小时前
Windows部署Redis
数据库·windows·redis
液态不合群17 小时前
Redis--哨兵机制与CAP定理
java·redis·bootstrap
tellmewhoisi17 小时前
多版本共用redis导致数据没及时更新报错
数据库·redis·缓存