实现原理 使用redis的setnx指令 在执行方法前,查询redis是否存在key 如果存在:说明正在执行中,进行报错如果不存在:则放入redis中 使用AOP进行封装 使用AOP+注解的形式来应对不同的场景 注解 对应分别为 超时时间时间单位错误信息规则 AOP 在AOP类内定义Map,根据注解返回解析器,执行方法如果抛出异常则删除对应的key 使用