feat(ota): 增强设备管理与OTA功能模块

- 新增OTA固件升级处理器,支持固件升级请求及黑名单过滤
- 引入设备持久化仓储,支持设备信息上报与活动记录
- 扩展数据模型,新增UserDevice与UserActive,支持设备版本跟踪
- 实现Redis到MySQL的异步数据同步任务
- 更新路由配置,集成新的API端点以支持OTA功能
- 优化架构图,反映新增的数据流与处理流程
This commit is contained in:
yangy
2026-05-31 09:52:11 +08:00
parent f3e3e82f52
commit 665397ede7
7 changed files with 1764 additions and 293 deletions
@@ -25,6 +25,7 @@
- 添加缓存穿透防护和数据库降级机制
- 优化缓存键命名规范和数据序列化策略
- 增强缓存失效策略和数据一致性保证
- 实现智能缓存回写和错误处理机制
## 目录
1. [简介](#简介)
@@ -245,6 +246,18 @@ Empty --> End
- [internal/repository/brand.go:34-52](file://internal/repository/brand.go#L34-L52)
- [internal/repository/model.go:27-79](file://internal/repository/model.go#L27-L79)
### 缓存回写机制
系统实现了智能的缓存回写机制,确保数据的一致性和新鲜度:
- **回写时机**:在数据库查询成功后,将数据写回到相应的缓存位置
- **回写策略**:根据查询类型选择合适的缓存回写策略
- **错误处理**:缓存回写失败时记录日志但不影响主流程
- **性能优化**:避免重复查询相同数据,提升整体查询性能
**章节来源**
- [internal/repository/brand.go:44-51](file://internal/repository/brand.go#L44-L51)
- [internal/repository/model.go:44-74](file://internal/repository/model.go#L44-L74)
## 缓存策略设计
### TTL过期管理
@@ -264,6 +277,12 @@ Empty --> End
- **二进制存储**:Redis存储二进制数据,提高传输效率
- **错误处理**:序列化和反序列化失败时返回明确的错误信息
### 缓存查询策略
- **品牌查询**:优先从缓存获取全量品牌列表,支持应用层模糊过滤
- **型号查询**:根据查询条件选择合适的缓存策略
- **缓存优先**:尽可能从缓存获取数据,减少数据库压力
- **降级保护**:缓存失败时自动降级到数据库查询
**章节来源**
- [internal/cache/brand_cache.go:13-16](file://internal/cache/brand_cache.go#L13-L16)
- [internal/cache/model_cache.go:13-17](file://internal/cache/model_cache.go#L13-L17)
@@ -347,6 +366,17 @@ REPO --> REDIS
- 验证TTL设置是否合理
- 分析数据更新频率
### 缓存回写问题
- **缓存未更新**
- 检查缓存回写逻辑是否正确执行
- 验证缓存键是否正确生成
- 查看回写错误日志
- **数据不一致**
- 检查缓存过期时间设置
- 验证数据库更新后是否及时回写
- 分析并发访问时的数据一致性
**章节来源**
- [cmd/server/main.go:103-131](file://cmd/server/main.go#L103-L131)
- [internal/repository/brand.go:34-52](file://internal/repository/brand.go#L34-L52)
@@ -358,6 +388,7 @@ Luxsin应用API的缓存系统实现了完整的Redis缓存解决方案,包含
- **完整的组件体系**BrandCache和ModelCache提供了专业的缓存功能
- **智能的缓存策略**:支持TTL管理、自动预热和多级缓存
- **可靠的降级机制**:缓存失败时自动降级到数据库,确保服务可用性
- **完善的回写机制**:智能缓存回写确保数据一致性
- **良好的扩展性**:清晰的架构设计便于添加新的缓存组件
建议在后续版本中进一步完善监控指标、缓存统计和动态配置功能,以提升系统的可观测性和运维效率。
@@ -382,6 +413,7 @@ Luxsin应用API的缓存系统实现了完整的Redis缓存解决方案,包含
- 缓存写入成功率
- 数据库查询次数
- Redis连接池使用情况
- 缓存回写成功率
**章节来源**
- [internal/cache/brand_cache.go:13-16](file://internal/cache/brand_cache.go#L13-L16)