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

源码地址

相关推荐
Aurora_NeAr6 小时前
Redis设计与实现——Redis命令参考与高级特性
数据库·redis·缓存
程序猿小谢6 小时前
Redis特性与应用
数据库·redis·缓存
编程、小哥哥6 小时前
Java求职者面试:从Spring Boot到微服务的技术点解析
java·spring boot·redis·微服务·spring security·高并发·面试题
张哈大9 小时前
【 Redis | 实战篇 秒杀优化 】
java·数据库·redis·笔记·缓存
LDM>W<1 天前
黑马点评-用户登录
java·redis
炫酷的伊莉娜1 天前
【Redis】零碎知识点(易忘 / 易错)总结回顾
redis
一个天蝎座 白勺 程序猿1 天前
Python爬虫(29)Python爬虫高阶:动态页面处理与云原生部署全链路实践(Selenium、Scrapy、K8s)
redis·爬虫·python·selenium·scrapy·云原生·k8s
莱茵不哈哈1 天前
OpenResty 深度解析:构建高性能 Web 服务的终极方案
nginx·lua·kong·openresty·conf
追风赶月、1 天前
【Redis】哨兵(Sentinel)机制
数据库·redis·sentinel
vvilkim1 天前
Redis持久化机制详解:保障数据安全的关键策略
数据库·redis·缓存