看nginx的proxy_cache和fastDFS他们存储文件的时候,都是先新建了256个文件夹,如下:
00 01 02 .... 0F
10 11 12 .... 1F
.....
F0 F1........... FF
每个文件夹下面又有256个这样的文件夹,然后存文件的时候,把文件名处理之后,从前往后依次存储。这样做有什么好处么?
猜想应该有如下几种可能:
1.每个文件夹所承受的文件句柄数是有限的,通常是65535,为了避免小文件过多,造成无法在同一个文件夹下存储;
2.对每一个需要进行存储的文件进行了hash或者其他特殊的运算,方便取文件的时候进行查找;
3.每一个文件夹的起始位置对磁盘进行了对齐,提高读取效率。
想请大神门帮忙解释一下,尤其是不是有第3种可能。