老师好,关于删除接口的操作问题
来源:2-7 编码实战:实现文件修改接口+小结

幕布斯6084676
2019-05-05
老师您好,就是您在讲解删除接口操作时,讲到,在生产环境中要判断一些情况才能删除,比如线程同步、多线程、加锁等问题。因为在自己的实际工作中,在删除操作方面没有考虑过这些情况,所以对这些方面比较陌生。想问老师后续的课程中有这方面(同步、多线程、加锁等)的讲解吗? 或者我应该看哪些资料来提升这方面的能力呢?
写回答
1回答
-
同学你好,一般生产环境中,对于数据库或者文件数据的删除,更多时候是标记删除而非物理删除。
比如用户有10个文件,那他的文件表里就有10条记录;如果用户要删除一个文件,这时候就可以把对应的那条文件记录置为`删除`的状态,而不是真的把这条记录给删掉。
这样做的好处是,一是可以一定程度上减少误删数据的概率,二是方便以后文件的找回,三是可以保留用户所有的历史文件记录。
至于删除时的判断问题,本课后面暂时并没有详细的讲解呢,后面以文档的形式再补回来哈。其实最主要考虑一点,就是删除文件的时候先判断下当前该文件是不是还有在下载,防止下载到一半时发现文件已经被删除而中断。
另外关于线程的同步,比如处理多线程/协程并发访问同一资源的场景, 可以先熟悉下golang的mutex和channel原理呢。
012019-05-05
相似问题