邮院通
2025/12/3大约 1 分钟
请描述一下你在项目中如何实现用户鉴权?
回答: 在项目中,我使用了 Spring Security 实现了用户鉴权模块,
通过配置 UsernamePasswordAuthenticationFilter 和 JwtAuthenticationFilter 来进行用户身份验证。
用户在登录时,通过用户名和密码进行验证,生成 JWT 令牌,返回给客户端,客户端通过 HTTP Header 携带该令牌进行后续的 API 请求,服务器通过 JWT 解析并验证身份。
如何保证Redis缓存与数据库的数据一致性?
回答:
采用‘更新数据库后删除缓存’策略,并通过以下方式优化:
- 设置缓存过期时间(如新闻缓存1小时自动失效)
- 对关键数据使用双删策略(先删缓存→更新DB→再删缓存)
- 通过消息队列异步处理缓存更新。"
当数据库更新时,前端如何获取最新数据并刷新页面?
1. 主动推送更新(推荐方案):使用WebSocket建立长连接,当后端数据更新时主动推送通知
2. 短轮询方案: 前端定时(如每30秒)发送请求检查数据版本,后端响应中包含数据版本号或最后更新时间,当前端检测到版本变化时触发刷新
3.长轮询方案: 前端发送请求后,服务端保持连接直到数据有更新