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

源码地址

相关推荐
Fang fan39 分钟前
Redis基础数据结构
数据结构·数据库·redis·缓存·bootstrap·sentinel
星空露珠1 小时前
迷你世界UGC3.0脚本Wiki对象模块管理接口 GameObject
开发语言·数据库·算法·游戏·lua
或与且与或非1 小时前
Redis-Lua脚本调试教程
数据库·redis·lua
尽兴-1 小时前
大厂生产级 Redis 分布式锁:从原理到避坑实战
数据库·redis·分布式·分布式锁·setnx
prince051 小时前
基于redis实现扣减库存的具体实现
数据库·redis·junit
掘根1 小时前
【即时通讯项目】环境搭建6——Redis,Redis-plus-plus
数据库·redis·缓存
知识分享小能手2 小时前
Redis入门学习教程,从入门到精通,Redis服务配置知识点详解(3)
数据库·redis·学习
九皇叔叔2 小时前
【保姆级教程】CentOS 7.5/RHEL 7.x 编译安装 Redis 6.0.1
linux·redis·centos
czlczl200209253 小时前
Redis集群批处理下的陷阱
数据库·redis·缓存
人道领域3 小时前
Day | 07 【苍穹外卖:菜品套餐的缓存】
java·开发语言·redis·缓存击穿·springcache