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

源码地址

相关推荐
Dontla几秒前
黑马大模型RAG与Agent智能体实战教程LangChain提示词——6、提示词工程(提示词优化、few-shot、金融文本信息抽取案例、金融文本匹配案例)
redis·金融·langchain
難釋懷2 分钟前
秒杀优化-基于阻塞队列实现秒杀优化
redis·缓存
静听山水44 分钟前
Redis核心数据结构-Set
数据结构·数据库·redis
難釋懷1 小时前
Lua脚本解决多条命令原子性问题
开发语言·lua
无尽的沉默1 小时前
Redis下载安装
数据库·redis·缓存
曾经的三心草1 小时前
redis-9-集群
java·redis·mybatis
czlczl200209251 小时前
增删改查时如何提高Mysql与Redis的一致性
数据库·redis·mysql
静听山水1 小时前
Redis核心数据结构
数据结构·数据库·redis
静听山水2 小时前
Redis核心数据结构-Hash
数据结构·redis·哈希算法