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

源码地址

相关推荐
上海合宙LuatOS1 分钟前
LuatOS扩展库API——【exremotefile】远程文件管理系统
物联网·lua·luatos
a里啊里啊23 分钟前
Redis面试题记录
数据库·redis·缓存
__土块__29 分钟前
大厂后端一面模拟:从线程安全到分布式缓存的连环追问
jvm·redis·mysql·spring·java面试·concurrenthashmap·大厂后端
杰克尼1 小时前
redis(day03-优惠券秒杀)
数据库·redis·缓存
上海合宙LuatOS2 小时前
LuatOS扩展库API——【exremotecam】网络摄像头控制
开发语言·网络·物联网·lua·luatos
有梦想的小何3 小时前
从0到1搭建可靠消息链路:RocketMQ重试 + Redis幂等实战
java·redis·bootstrap·rocketmq
何陋轩3 小时前
Redis深度解析:把缓存核心讲透,吊打面试官
redis·面试
wb1893 小时前
NoSQL数据库Redis集群重习
数据库·redis·笔记·云计算·nosql
小兜全糖(xdqt)6 小时前
Ubuntu22.04安装最新版本redis
数据库·redis·缓存
weixin_704266056 小时前
redis 的集群
java·数据库·redis