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

源码地址

相关推荐
Kyrie_Li5 小时前
Redis-Sentinel(哨兵模式)
数据库·redis·sentinel
时光话6 小时前
Lua:第1-4部分 语言基础
开发语言·lua
炬火初现6 小时前
redis-cpp-cpp如何使用lua脚本
数据库·redis·lua
hxung6 小时前
Redis 数据类型详解
数据库·redis·缓存
小王不会写code7 小时前
Docker安装、配置Redis
redis·docker
爱的叹息8 小时前
SpringBoot集成Redis 灵活使用 TypedTuple 和 DefaultTypedTuple 实现 Redis ZSet 的复杂操作
spring boot·redis·bootstrap
緣起緣落10 小时前
Linux(CentOS 7) 部署 redis 集群
linux·运维·服务器·redis·centos·集成学习
一个程序员(●—●)12 小时前
Lua函数与表+Lua子文件加载与元表
开发语言·lua
Kagol2 天前
macOS 和 Windows 操作系统下如何安装和启动 MySQL / Redis 数据库
redis·后端·mysql
hzulwy2 天前
Redis常用的数据结构及其使用场景
数据库·redis