PHP操作DB后,会去请求两个其他服务的API接口。现在有个问题是,如果请求失败了,怎么操作DB回滚呢?除了让数据库回滚之外的方法
DB不就是数据库吗?
我没遇到过相关问题,冒昧回答一下:
是否可以将每步操作生成一个标记放到缓存(或者种种存储介质)内,这个存在有效期,如果超出了有效期没有执行下一步,就回滚(逻辑操作)
2 回答1.5k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
2 回答877 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答934 阅读
1 回答915 阅读
1 回答845 阅读
说白了就是一个程序设计的问题,基于事务的话可以:
缺点是只能数据库回滚
一般最好是自己实现撤销逻辑,既可以撤销数据库操作,又可以撤销api操作,用异常会很方便
也可以结合起来用