基于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) ;
    }

源码地址

相关推荐
TechExplorer3653 小时前
Postman 9.12 安装、汉化、禁用更新
测试工具·lua·postman
Cat_Rocky4 小时前
redis哨兵模式
数据库·redis
披着羊皮不是狼8 小时前
(7)为 RAG 系统接入 Redis Stack 实现向量持久化
数据库·redis·缓存
XDHCOM8 小时前
Docker怎么设置Redis?
redis·docker·容器
ruan11451410 小时前
Redis--个人学习记录
数据库·redis·学习
Micro麦可乐11 小时前
Redis只会用来做缓存?解锁Redis非缓存的九个应用场景,90%程序员不知道的隐藏技能
数据库·redis·缓存·消息队列·分布式锁·延迟队列·布隆过滤器
21号 111 小时前
10.Redis 缓存
数据库·redis·缓存
从零开始的-CodeNinja之路11 小时前
【Redis】Redis 缓存应用、淘汰机制—(四)
java·redis·缓存
小红的布丁12 小时前
Redis 集群详解:主从哨兵和切片集群有什么区别
前端·数据库·redis
liulilittle12 小时前
Lua 浮点数比较
开发语言·junit·lua