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

源码地址

相关推荐
飞火流星020271 小时前
docker安装Redis:docker离线安装Redis、docker在线安装Redis、Redis镜像下载、Redis配置、Redis命令
redis·docker·docker安装redis·redis镜像下载·redis基本操作·redis配置
lwprain1 小时前
springboot 2.7.6 security mysql redis jwt配置例子
spring boot·redis·mysql
如风暖阳3 小时前
Redis背景介绍
数据库·redis·缓存
lingllllove4 小时前
Redis脑裂问题详解及解决方案
数据库·redis·缓存
微光守望者4 小时前
Redis常见命令
数据库·redis·缓存
凌波漫步&4 小时前
通过Redisson构建延时队列并实现注解式消费
redis·电商平台·redisson订单自动取消
@_@哆啦A梦18 小时前
Redis 基础命令
java·数据库·redis
gentle coder20 小时前
Redis_Redission的入门案例、多主案例搭建、分布式锁进行加锁、解锁底层源码解析
java·redis·分布式
萝卜青今天也要开心20 小时前
读书笔记-《Redis设计与实现》(一)数据结构与对象(下)
java·数据结构·redis·学习
java1234_小锋1 天前
说说Redis的内存淘汰策略?
数据库·redis·缓存