3
|
Florian Walther · 技术社区 · 7 年前 |
![]() |
1
11
每当您需要跨多个服务删除一个项目和引用时,您都有可能一个操作完成,另一个操作失败。这 将 导致数据损坏,因此您需要找出对您的应用危害最小的是什么:
如果孤立图像对应用程序危害较小,请先删除数据库节点,然后在完成处理程序中删除图像。这是我的首选选项,因为我的客户端应用程序代码不需要对孤立图像进行任何特殊处理。 如果数据库中有一个悬空引用的危害最小,请先删除该文件,然后按照Peter的回答更新数据库。 无论选择哪个选项,您通常都希望定期运行维护过程,以清理数据库中的悬空引用和/或存储中的孤立文件。 |
![]() |
2
4
最好使用第二种方法,因为您知道删除会成功,然后还可以删除数据库中图像的链接。 比从数据库中删除(可能它没有从存储中删除)更好,例如,您将有一个没有图像的用户。 |