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

源码地址

相关推荐
刘一说1 天前
深入理解 Spring Boot 中的 Redis 缓存集成:从基础配置到高可用实践
spring boot·redis·缓存
L.EscaRC1 天前
Lua语言知识与应用解析
java·python·lua
不见长安在1 天前
redis集群下如何使用lua脚本
数据库·redis·lua
努力努力再努力wz1 天前
【Linux进阶系列】:线程(上)
java·linux·运维·服务器·数据结构·c++·redis
苦学编程的谢1 天前
Redis_6_String
数据库·redis·缓存
thginWalker1 天前
图解Redis面试篇
redis
千里镜宵烛1 天前
Lua 面向对象编程完全指南:从元表到私密性,解锁灵活封装技巧
junit·单元测试·lua
埃泽漫笔1 天前
Redis单线程还是多线程?
数据库·redis·缓存
千里镜宵烛1 天前
深入 Lua 环境机制:全局变量的 “容器” 与 “隔离术”
开发语言·junit·lua
WeiQ_1 天前
解决phpstudy 8.x软件中php8.2.9没有redis扩展的问题
数据库·redis·缓存