请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

文件分块上传记录存储在redis中问题

回答1 浏览118 2020-10-11 11:28:43

老师,您在网课上的逻辑是:如果要删除分块上传文件的redis中记录,前端只需要传给后端一个fileHash即可。后端先根据此fileHash值在redis中找到与其对应的uploadId,如果此uploadId存在,则再删除此uploadId对应的fieldKey,如果不存在直接返回。
但是我有个疑问,在分块文件初始化信息那块,前端已经可以拿到后端发过来的uploadId了,那在删除分块文件逻辑处,前端为什么不直接传给后端此uploadId呢?这样就可以避免在redis中另外花费空间存储fileHash和uploadId的映射关系了。是不是前端没办法,或者会花费很大代价存储uploadId?

添加回答

已采纳回答

同学你好,在CancelUploadHandler接口中,就是通过uploadId来进行redis记录的清除的呀。另外redis中分块上传的缓存信息是有时效的,超时后redis会自动清理记录。另外之所以维持filehash和uploadId之间的映射关系,主要是为实现断点续传功能,一般认为客户端本地的数据是不可靠的(一些原因可能会导致app本地的数据丢失,而重新需要从服务端获取);当客户端上次上传文件没上传完,再重新请求上传时,如果发现有filehash和uploadId映射记录,则可以从上次传输的进度开始继续进行上传。

2020-10-12 21:29:48

Go实战仿百度云盘-实现企业级分布式云存储系统

难度中级
时长13小时30分钟
人数978
好评度99.4%

紧随“云时代”技术潮流,实战分布式云存储系统,做第一代云程序员

讲师

xiaomo 全栈工程师

毕业于华南理工大学软件学院; 七年互联网软件开发工作经验; 呆过金山网络,猎豹移动,115网盘; 擅长python, golang后端开发,以及大数据分析; 业余喜欢捣鼓前端js/app端小应用等。

意见反馈 帮助中心 APP下载
官方微信