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

源码地址

相关推荐
BergerLee9 小时前
对不经常变动的数据集合添加Redis缓存
数据库·redis·缓存
huapiaoy10 小时前
Redis中数据类型的使用(hash和list)
redis·算法·哈希算法
【D'accumulation】11 小时前
令牌主动失效机制范例(利用redis)注释分析
java·spring boot·redis·后端
Cikiss11 小时前
微服务实战——SpringCache 整合 Redis
java·redis·后端·微服务
一休哥助手12 小时前
Redis 五种数据类型及底层数据结构详解
数据结构·数据库·redis
盒马盒马13 小时前
Redis:zset类型
数据库·redis
Jay_fearless15 小时前
Redis SpringBoot项目学习
spring boot·redis
Wang's Blog15 小时前
Redis: 集群环境搭建,集群状态检查,分析主从日志,查看集群信息
数据库·redis
wclass-zhengge21 小时前
Redis篇(最佳实践)(持续更新迭代)
redis·缓存·bootstrap
Dylanioucn21 小时前
【分布式微服务云原生】探索Redis:数据结构的艺术与科学
数据结构·redis·分布式·缓存·中间件