在LAMP站点上使用较长的目录路径/名称和url的缺点是什么?


What are the downsides of longer directory paths/names and URL's on a LAMP site?

在LAMP站点上较长的目录路径/名称和URL的缺点是什么?

我试图尽可能高效地组织我网站上的图像,我热衷于使用许多嵌套目录,以便子目录没有超过1000个子目录。

在最坏的情况下,图像的存储看起来像这样:

./images/76/543/7654321/640/1.jpg

有这么多子目录与这样简单的目录相比,有什么严重的缺点吗?

./i/a7/c3/5e.jpg

我想服务器需要挖掘的子目录越多,需要的时间就越长,目录结构越长,URL就越长,所以HREF将在HTML文档中占用更多的空间。但这会带来多大的不同呢?假设我们扩展到数百万用户,这是我需要考虑的(短目录结构vs长目录结构)吗?

有关上下文,请查看此

谢谢!

在一个目录中有大量文件会使它变慢。你把它分开是对的。但是,您可以尝试通过在路径名中使用所有字母数字字符来减少长度。

如果你有:

/images/[a-z0-9]{3}/[a-z0-9]{3}/[a-z0-9]{3}.jpg
/images/abc/def/ghi.jpg

使用上面的代码,您可以存储101559956668416个图像。这看起来很荒谬,所以也许可以这样写:

/images/[a-z0-9]{2}/[a-z0-9]{2}.jpg
/images/ab/cd.jpg

使用上面的代码,您可以存储1679616个图像。这是一个合理的数字,但可能不足以满足您的需求。那么这个呢:

/images/[a-z0-9]{2}/[a-z0-9]{2}/[a-z0-9]{2}.jpg
/images/ab/cd/ef.jpg

允许2176782336(20亿)张图片,每个目录最多只能有1296个子文件/目录。

混合一些大写字母,甚至一些符号,你可以得到更少。就我个人而言,我会选择最后一个选项。这似乎是一个很好的平衡。