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

源码地址

相关推荐
aXin_ya3 小时前
Redis 高级篇(最佳实践)
数据库·redis·缓存
码农学院3 小时前
net针对redis的Hash操作
redis·bootstrap·哈希算法
霖霖总总4 小时前
[Redis小技巧32]Redis分布式锁的至暗时刻:从原理演进到时钟跳跃的终极博弈
数据库·redis·分布式
Wy_编程6 小时前
Redis数据类型和常用命令
数据库·redis·缓存
ZC跨境爬虫8 小时前
通俗易懂讲解分布式爬虫基础概念(附Scrapy-Redis实操教程)
redis·分布式·爬虫·python·scrapy
aXin_ya9 小时前
Redis 原理篇 (数据结构)
数据库·redis·缓存
身如柳絮随风扬9 小时前
Redis 单线程模型
redis
不会写DN11 小时前
Go 项目中 Redis 缓存的实用设计与实现(Cache-Aside 模式)
redis·缓存·golang
aXin_ya12 小时前
Redis 网络模型 内存回收
数据库·redis·缓存
.柒宇.12 小时前
Redis
数据库·redis·缓存