首页 新闻 赞助 找找看

为什么许多缓存服务器或者分布式文件系统存储文件的时候喜欢用 00/00这种方式

0
悬赏园豆:10 [已关闭问题] 关闭于 2016-06-29 16:04

看nginx的proxy_cache和fastDFS他们存储文件的时候,都是先新建了256个文件夹,如下:

00 01 02 .... 0F

10 11 12 .... 1F

.....

F0 F1........... FF

每个文件夹下面又有256个这样的文件夹,然后存文件的时候,把文件名处理之后,从前往后依次存储。这样做有什么好处么?

问题补充:

猜想应该有如下几种可能:
1.每个文件夹所承受的文件句柄数是有限的,通常是65535,为了避免小文件过多,造成无法在同一个文件夹下存储;
2.对每一个需要进行存储的文件进行了hash或者其他特殊的运算,方便取文件的时候进行查找;
3.每一个文件夹的起始位置对磁盘进行了对齐,提高读取效率。
想请大神门帮忙解释一下,尤其是不是有第3种可能。

步孤天的主页 步孤天 | 菜鸟二级 | 园豆:202
提问于:2016-01-12 15:13
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册