Skip to content

perf: 优化用户鉴权并引入当前用户缓存 - #137

Merged
insistence merged 7 commits into
masterfrom
perf-user-cache
Oct 29, 2026
Merged

insistence merged 7 commits into
masterfrom
perf-user-cache

Conversation

@insistence

Copy link
Copy Markdown
Owner

减少同一请求内的重复鉴权和用户信息查询,引入 Redis 短时缓存,并修复会话续期、退出与重新登录之间的竞态。

  • 统一鉴权依赖调用链,使用 FastAPI 原生依赖缓存,保留 use_cache=False 重新鉴权行为。
  • 提取公共认证规则,消除循环依赖,保持公开路由排除、权限校验和 OpenAPI 安全声明一致。
  • 精简用户、部门及权限查询,当前用户响应和缓存不再包含密码哈希,移除 /getInfo 的重复响应缓存。
  • 增加当前用户快照缓存,通过版本校验防止并发旧查询回填;事务提交后主动失效,覆盖 ORM、Core、原生 SQL、别名、多表及嵌套写入。
  • 续期和退出使用 Redis Lua 原子校验令牌,避免旧请求覆盖新会话、恢复已退出会话或误删新会话;插件鉴权继续保持不续期宿主会话。
  • 补齐异常、取消、回滚、并发和连接清理测试,以及缓存一致性说明。

@insistence
insistence merged commit 7f7c66d into master Oct 29, 2026
34 checks passed
@insistence
insistence deleted the perf-user-cache branch October 29, 2026 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant