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

源码地址

相关推荐
小小8程序员42 分钟前
Redis-10
数据库·redis·缓存
不穿格子的程序员7 小时前
Redis篇3——Redis深度剖析:内存数据的“不死之身”——RDB、AOF与混合持久化
数据库·redis·缓存·数据持久化·aof·rdb
小安同学iter7 小时前
天机学堂-排行榜功能-day08(六)
java·redis·微服务·zset·排行榜·unlink·天机学堂
爱吃KFC的大肥羊10 小时前
Redis 基础完全指南:从全局命令到五大数据结构
java·开发语言·数据库·c++·redis·后端
uup10 小时前
Redis 缓存雪崩
java·redis
镜水灵动11 小时前
redisTemplate执行lua脚本报错‘for‘ initial value must be a number
lua·springboot
feathered-feathered11 小时前
Redis【事务】(面试相关)与MySQL相比较,重点在Redis事务
android·java·redis·后端·mysql·中间件·面试
又是进步的一天11 小时前
zabbix部署安装
数据库·redis·zabbix
嫂子的姐夫12 小时前
py连接Redis
数据库·redis·爬虫·去重
Silence_Jy12 小时前
cs336Lecture 5 and7
java·redis·缓存