基于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 小时前
Redis的缓存机制和淘汰策略详解
数据库·redis·缓存机制·淘汰策略
历程里程碑4 小时前
二叉树---二叉树的中序遍历
java·大数据·开发语言·elasticsearch·链表·搜索引擎·lua
深蓝电商API7 小时前
Redis在海淘场景下的缓存策略设计
数据库·redis·缓存·海淘
杰克尼7 小时前
redis(day04-达人探店)
数据库·redis·缓存
Chasing Aurora9 小时前
整理常用的开发工具使用问题和小贴士(二)——软件和浏览器
redis·python·mysql·maven
停水咋洗澡10 小时前
Redis Sentinel高可用实战:主从自动故障转移
java·redis·sentinel
等....10 小时前
Redis使用
数据库·redis·mybatis
一只小bit10 小时前
Redis 初步入门教程:简单介绍和安装配置
数据库·redis·缓存
架构师老Y11 小时前
012、缓存架构设计:Redis高级应用与优化
redis·python·架构
刘~浪地球11 小时前
数据库与缓存--Redis 集群架构与优化
数据库·redis·缓存