在大多数业务场景下,拦截器(Interceptor / Filter / Middleware)对性能的影响很小,几乎可以忽略不计,但在设计不当或逻辑复杂时,确实可能成为性能瓶颈。下面从几个维度帮你判断影响大小。
✅ 轻量拦截器(常见情况)
⚠️ 复杂拦截器(需要警惕)
// 不建议
public boolean preHandle(...) {
userService.loadUserFromDB(); // 每次请求查 DB
redisTemplate.get(key); // 没缓存
Thread.sleep(5); // 阻塞
}
public boolean preHandle(...) {
// 从 JWT / 本地缓存解析
// 不做 IO
return true;
}
| 内容 | 耗时 |
|---|---|
| 空拦截器 | ~0.01ms |
| Token 解析(本地) | ~0.05ms |
| Redis 一次调用 | 0.5–2ms |
| DB 查询 | 2–20ms |
| 远程 RPC | 10–100ms+ |
✅ 需要关注的情况
✅ 不需要过度担心的情况
✅ 拦截器只做 “判断 + 放行”
✅ 重逻辑放到:
如果你愿意,可以告诉我:
我可以帮你 具体分析是否影响大,甚至给出优化方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。