上岸洗澡的鱼 发表于 2011-11-15 09:59

请问Happy fish,文档里面提到“相同文件内容只保存一份”具体指什么?

如题。

是不是说我上传同样名字文件,是覆盖吗?

但是我使用下来不是这样的,还是说你需要给他原来的storage上面的名字,才能覆盖呢?

请指教

happy_fish100 发表于 2011-11-15 11:37

回复 1# 上岸洗澡的鱼

当然不是指覆盖!
这是FastDFS的一个特性。是指相同内容的文件在系统里只保存一份文件实体,每次上传同一个文件,返回给client的文件ID是不同的。
返回的文件ID通过链接的方式指向该实体文件。
以unix的符号链接来理解:目标文件为实体文件,每次上传产生的文件为符号链接,指向对应的实体文件。

上岸洗澡的鱼 发表于 2011-11-18 22:03

你的意思是指:我重复上传同一个文件,在第一上传的时候,storage上保存了这个文件的实体,返回了这个保存文件的ID,在以后的重复上传中,storage保存的其实只是指向第一次上传的这个文件实体的链接,而并不是相同文件的重复上传保存。但是返回的ID还是不同的。是这个意思吗?
但是为什么我发现我一个文件重复上传,每次都还在storage上保存一次呢?
还是说FastDFS需要做某些设置,或者某些特殊方法的调用才能达到这个目的?

happy_fish100 发表于 2011-11-18 22:32

回复 3# 上岸洗澡的鱼


你的意思是指:我重复上传同一个文件,在第一上传的时候,storage上保存了这个文件的实体,返回了这个保存文件的ID,在以后的重复上传中,storage保存的其实只是指向第一次上传的这个文件实体的链接,而并不是相同文件的重复上传保存。但是返回的ID还是不同的。是这个意思吗?

是的,你理解得完全正确。


但是为什么我发现我一个文件重复上传,每次都还在storage上保存一次呢?
还是说FastDFS需要做某些设置,或者某些特殊方法的调用才能达到这个目的?

是的,设计就是如此。你每上传一次,FastDFS server都会分配一个新的文件ID。

xueab1 发表于 2012-03-15 14:24

你好,为什么我上传同一个文件,每次都重新保存一次,和什么设置有关

happy_fish100 发表于 2012-03-15 18:30

回复 5# xueab1

设计就是如此。

19710681- 发表于 2012-03-16 08:51

进来学习学习

wywyaaa 发表于 2013-09-05 14:30

还是糊涂,

如果是同一个“实体”,不同的“链接”,是否磁盘占有不会增加?

但磁盘占用是增加的,怎么理解呢?

UDBuilder 发表于 2014-06-16 14:27

wywyaaa 发表于 2013-09-05 14:30 static/image/common/back.gif
还是糊涂,

如果是同一个“实体”,不同的“链接”,是否磁盘占有不会增加?


请问您的疑问解决了吗?我也在这里困惑了

chenhaimingwork 发表于 2014-07-12 18:31

wywyaaa 发表于 2013-09-05 14:30 static/image/common/back.gif
还是糊涂,

如果是同一个“实体”,不同的“链接”,是否磁盘占有不会增加?



用linux 软链接来理解就行了 。。。只不过重复上传同一文件每次都会返回不一样的软链接(保存的URL),但是都指向同一个文件。。。
而之所以会返回不一样的保存URL ,仔细看过原理篇,里面有提到 file_id的组成 ,里面有随机数,然后所有组合再进行base64编码得到
我觉得返回不同原因应该是这个
页: [1] 2
查看完整版本: 请问Happy fish,文档里面提到“相同文件内容只保存一份”具体指什么?