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

源码地址

相关推荐
ChineHe4 分钟前
Redis基础篇004_Redis Pipeline流水线详解
数据库·redis·缓存
tc&1 小时前
redis_cmd 内置防注入功能的原理与验证
数据库·redis·bootstrap
Zongsoft3 小时前
自适应可变速率ID生成器的设计与实践(视频)
redis·uuid·分布式id·snowflake·sequence
蜂蜜黄油呀土豆4 小时前
Redis 高并发场景与数据一致性问题深度解析
redis·分布式锁·秒杀系统·数据一致性·布隆过滤器
不必介怀5 小时前
Redis在windos系统下的安装和配置
redis
@淡 定5 小时前
redis存储空间复杂度和时间复杂度的平衡
redis
win x6 小时前
Redis 持久化
数据库·redis·缓存
optimistic_chen7 小时前
【Redis系列】Java操作Redis客户端
java·linux·redis·客户端·服务端
小白学大数据8 小时前
Redis 在定时增量爬虫中的去重机制与过期策略
开发语言·数据库·redis·爬虫
r***123810 小时前
GO 快速升级Go版本
开发语言·redis·golang