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

源码地址

相关推荐
Rick19935 小时前
Redis 分布式锁:核心使用场景
数据库·redis·分布式
身如柳絮随风扬6 小时前
Redis如何实现高效插入大量数据
数据库·redis·缓存
予早7 小时前
Redis 设置库的数量
数据库·redis·缓存
OxyTheCrack7 小时前
【C++】一文详解C++智能指针自定义删除器(以Redis连接池为例)
c++·redis
Rick19939 小时前
Redis查询为什么快
数据库·redis·缓存
Rick199310 小时前
Redis 底层架构图
数据库·redis·缓存
Arva .11 小时前
Redis 数据类型
数据库·redis·缓存
笑我归无处12 小时前
Redis和数据库的数据一致性问题研究
数据库·redis·缓存
色空大师12 小时前
【微服务项目-短信平台】
java·redis·微服务·rabbitmq·springcloud·短信
SPC的存折12 小时前
(自用)LNMP-Redis-Discuz5.0部署指南-openEuler24.03-测试环境
linux·运维·服务器·数据库·redis·缓存