有多less文件夹可以在文件夹中?

在我的网站上,用户有文件,所以我为每个用户创build一个文件夹,当他们注册。

例如

/用户数据/ USERID

如果网站增长,我有成千上万的用户,我可能会在一个文件夹中有太多的用户文件夹,所以我决定把它们分开。

例如

/ userdata / 1 / USERID(第一千个用户)

/ userdata / 2 / USERID(第二千个用户)

我的问题是我应该把多less文件夹放在一个子文件夹? 每个1000是一个好主意? 更多? 减? 只是想确保事情顺利进行。

我总是按照ext2 / ext3的最大值〜1000的规则工作。 我怀疑文件系统的select可能会影响你的select。

ext3的绝对限制是〜32k。 看看Wikipedia上所有的血淋淋的细节: http : //en.wikipedia.org/wiki/Ext3

对于你的目录哈希algorithm,我build议使用ID的最后一位数字。 如果你计算$id % 10并使用该值,它将工作。 这样你就可以获得均匀的分配。

这主要取决于您正在使用的文件系统。

你可能会发现使用模式比使用任意数字更容易。 CPAN,例如,使用

 U/US/USERNAME 

即第一个字母/前两个字母/完整的用户名

如果您的用户名不经常更改,CPAN思维模式可能仍然有优势。 知道90%的用户在哪里下钻并find他们的内容,而不是必须searchN个查找USERID的文件结构通常会更好。