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

源码地址

相关推荐
Armyyyyy丶8 小时前
Redis底层实现原理之五大基础结构
数据结构·redis·缓存
程序猿多布8 小时前
Lua和C#比较
c#·lua
PXM的算法星球13 小时前
ZooKeeper vs Redis:分布式锁的实现与选型指南
redis·分布式·zookeeper
寒士obj14 小时前
Redisson分布式锁:看门狗机制与续期原理
redis·分布式
2302_8097983214 小时前
【Redis】缓存的穿透、击穿和雪崩
数据库·redis·缓存
Badman14 小时前
分布式系统下的数据一致性-Redis分布式锁
redis·分布式·后端
我发在否16 小时前
Lua > Mac Mini M4安装openresty
macos·lua·openresty
Aiah.17 小时前
大彩串口屏-烧录与调试
lua·大彩串口屏·ui显示
程序猿多布18 小时前
Lua 面向对象编程
lua
qyvlik18 小时前
MacOS 使用 luarocks+wrk+luajit
macos·lua·wrk