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

源码地址

相关推荐
全栈前端老曹27 分钟前
【Redis】Redis 持久化机制 RDB 与 AOF
前端·javascript·数据库·redis·缓存·node.js·全栈
生命因何探索3 小时前
Redis-持久化
数据库·redis·缓存
福大大架构师每日一题4 小时前
redis 8.4.1 正式发布:安全升级、性能强化与多模块重大修复详解
数据库·redis·安全
thginWalker7 小时前
Redis的常用命令
数据库·redis·缓存
Re.不晚8 小时前
Redis核心原理底层机制——持久化【RDB与AOF】
数据库·redis·缓存
seeInfinite8 小时前
LLM面试相关汇总
数据库·redis·缓存
nxbsc_wanglc9 小时前
Linux安装redis
linux·运维·redis
Maguyusi9 小时前
go 批量生成c++和lua proto文件
c++·golang·lua·protobuf
竟未曾年少轻狂9 小时前
Spring Boot 项目集成 Redis
java·spring boot·redis·缓存·消息队列·wpf·redis集群
努力学习的小廉10 小时前
redis学习笔记(三)—— hash数据类型
redis·笔记·学习