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

源码地址

相关推荐
MarkHard1233 小时前
如何利用redis使用一个滑动窗口限流
数据库·redis·缓存
island13144 小时前
【Redis#10】渐进式遍历 | 数据库管理 | redis_cli | RES
数据库·redis·bootstrap
心想事成的幸运大王4 小时前
Redis的过期策略
数据库·redis·缓存
java搬砖工-苤-初心不变6 小时前
基于 lua_shared_dict 的本地内存限流实现
开发语言·junit·lua
wuyunhang12345610 小时前
Redis---集群模式
数据库·redis·缓存
Seven9711 小时前
Redis是如何进行内存管理的?缓存中有哪些常见问题?如何实现分布式锁?
redis
IAtlantiscsdn11 小时前
Redis Stack扩展功能
java·数据库·redis
没有bug.的程序员11 小时前
Redis 大 Key 与热 Key:生产环境的风险与解决方案
java·数据库·redis·缓存·热key·大key
wuyunhang12345611 小时前
Redis----缓存策略和注意事项
redis·缓存·mybatis
程序猿多布12 小时前
XLua教程之热补丁技术
unity·c#·lua·xlua