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

源码地址

相关推荐
TT哇44 分钟前
【Java EE初阶】计算机是如何⼯作的
java·redis·java-ee
陌殇殇4 小时前
SpringBoot整合SpringCache缓存
spring boot·redis·缓存
weixin_4383354011 小时前
分布式锁实现方式:基于Redis的分布式锁实现(Spring Boot + Redis)
数据库·redis·分布式
暮乘白帝过重山11 小时前
为什么要写RedisUtil这个类
redis·开发·暮乘白帝过重山
旷世奇才李先生13 小时前
Lua 安装使用教程
开发语言·lua
持之以恒的天秤13 小时前
Redis—哨兵模式
redis·缓存
Accpdaiyekun15 小时前
C# 操作mongodb 多次查询快还是使用管道查询速度快
mongodb·c#·lua
芥子沫15 小时前
Redis 持久化详解、使用及注意事项
redis·内存数据库
西岭千秋雪_15 小时前
Redis缓存架构实战
java·redis·笔记·学习·缓存·架构
snoopyfly~15 小时前
Ubuntu 24.04 安装配置 Redis 7.0 开机自启
linux·redis·ubuntu