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

源码地址

相关推荐
张先shen1 小时前
Spring Boot集成Redis:从配置到实战的完整指南
spring boot·redis·后端
Aikes9023 小时前
基于redis的分布式session共享管理之销毁事件不生效问题
redis·分布式·缓存
十五年专注C++开发4 小时前
hiredis: 一个轻量级、高性能的 C 语言 Redis 客户端库
开发语言·数据库·c++·redis·缓存
张先shen6 小时前
亿级流量下的缓存架构设计:Redis+Caffeine多级缓存实战
数据库·redis·缓存
sniper_fandc9 小时前
Redis数据类型之list
数据库·redis·list
笑衬人心。11 小时前
Redis 基本操作笔记
数据库·redis·笔记
埃泽漫笔11 小时前
Redis事件机制
redis·event
埃泽漫笔12 小时前
Redis概念和基础
redis
vortex513 小时前
Redis渗透思路总结
数据库·redis·缓存
都叫我大帅哥17 小时前
Redis Set数据类型:从青铜到王者的全方位指南
redis