totalCount and ChunkCount
来源:6-5 编码实战:实现分块合并接口

abel_星123
2019-04-21
老师我想问下totalCount 和chunkCount 是怎么作比较的,听得有点蒙?totalCoun取出的值为什么是总的分块的数量。redis中的是k v 键值对是怎么存储这些数据的?
写回答
2回答
-
同学你好,代码里的
totalCount是指这个文件需要分成多少块来上传,这个是在调用上传初始化接口时就已经计算好的一个数值并且保存到redis中了的;
chunkCount则是实际上已经上传的分块的数量,每完成一个分块的上传,redis里就会相应的增加一条分块记录。
调用文件分块合并的时候,chunkCount是从redis里统计出来(一共有多少条分块的记录)的,而totalCount是直接取出来(提前写到redis里的一个数量)的;然后两者比较,相等的时候,说明文件所有分块都已经上传完成了,否则会认为有分块未上传。
简单来说, 每上传一个分块就会动态增加hashset的一个字段,如{'chkidx_1':1,'chkidx_2':1}表示有两个分块; totalCount就是一个提前写到redis里的一个数值,是一个理论值,它是不变的; chunkCount是临时统计出来的数值,即一个实际统计值,统计依据是在redis实际存的分块记录数。
032019-04-22 -
xiaomo
2019-04-22
当前一个文件的uploadid对应hash的一个key呢, 然后一个key下面有多对filed:value, 大概是这样子的:
当然了,也可以用其他的结构体(比如list或者set)来实现分块信息的存储呢.
00
相似问题