目录
专辑新增或修改(图片的批量新增和修改),体现 @Transation 的使用
如何控制 redis 的 list 中每一个元素的声明周期(体现优化业务)
专辑业务处理
专辑新增或修改(图片的批量新增和修改),体现 @Transation 的使用
a)刚开始是在 service 层编排逻辑如下:
1. 校验图片文件格式
2. 生成图片路径(包含文件名),并且在硬盘上保存或修改图片.
3. 将图片路径保存到 专辑信息dto 中
4. 数据库新增或修改 专辑信息 和 专辑图片信息
这样的编排虽然能实现,但是我测试的有个问题:
有一个种情况,就是硬盘上保存图片成功了,但是数据库出现了异常. 虽然数据库本身是带事务的,可以回滚,但是硬盘的上保存的资源可没法回滚啊(就算是 @Transactional 注解,也只能回滚数据库操作). 白白浪费了空间.
b)仔细一想可以换个编排方式,
本文介绍了自研项目中涉及的数据库设计与优化,包括专辑业务处理的事务控制、评论楼中楼设计、搜索推荐、标签分类、统计设计等。通过对评论查询的优化,避免递归查询,提高系统性能。同时,利用ES和Redis进行数据存储和搜索推荐,通过MQ确保数据一致性。此外,讨论了用户业务处理,如站内信、用户鉴权等,以及Kotlin在DO和Entity交互中的应用。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



