需要将文件保存到本地,并把这条文件记录提交到数据库
假设因为某种情况代码未执行完,比如断电了,而文件已经保存到本地,文件记录却未提交到数据库,这样保存的文件就是作废的了。如何解决这种问题?
需要将文件保存到本地,并把这条文件记录提交到数据库
假设因为某种情况代码未执行完,比如断电了,而文件已经保存到本地,文件记录却未提交到数据库,这样保存的文件就是作废的了。如何解决这种问题?
保存数据到文件
和保存数据到数据库
是两个操作, 这两个操作在同一个事务中: 保存数据
. 这里涉及到事务中的故障恢复
的概念. 手动实现的话, 需要将事务执行状态持久化, 例如:
这个状态必须能够在掉电后恢复. 可以选择将状态存到某个文件中.
如果只执行了1, 而2未执行, 那么需要把文件中的数据读出来, 继续执行2.
4 回答1.2k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答708 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.6k 阅读
2 回答1.3k 阅读
把文件操作放在事务的最后面,如果数据操作失败,文件操作自然不执行,如果文件操作失败,抛异常,回滚事务
. 还有,断电是什么操作。