【发布时间】:2012-11-18 12:28:58
【问题描述】:
我的网站用户可以上传图像文件,然后在页面上显示时需要找到这些文件(使用 src = "")。目前,我将所有图像放在一个目录中。如果有很多文件怎么办 - 找到正确的文件会很慢吗?他们被索引了吗?我应该创建子目录吗?
我使用 Python/Django。一切都在网络派系上。
【问题讨论】:
我的网站用户可以上传图像文件,然后在页面上显示时需要找到这些文件(使用 src = "")。目前,我将所有图像放在一个目录中。如果有很多文件怎么办 - 找到正确的文件会很慢吗?他们被索引了吗?我应该创建子目录吗?
我使用 Python/Django。一切都在网络派系上。
【问题讨论】:
单个文件的访问时间不受同一目录中文件数量的影响。
在包含更多文件的目录上运行ls -l 当然需要更长的时间。与在文件浏览器中查看该目录相同。当然,如果您将这些图像存储在由用户名定义的子目录中,则使用这些图像可能会更容易。但这仅取决于您要对它们做什么。这样做没有技术原因。
这样想。图像文件的完整路径 (/srv/site/images/my_pony.jpg) 是文件的实际地址。您的 Web 服务器进程查看那里,并返回它找到的任何数据,如果没有,则返回 404。它不做的是列出/srv/site/images 中的所有文件并查看该列表以查看它是否包含名为my_pony.jpg 的项目。
【讨论】:
如果仅出于组织目的和帮助系统维护,您应该创建子目录。否则,您几乎不会遇到目录可以容纳的maximum number of files。
对网络的性能影响可以忽略不计。但是,对于其他应用程序(文件列表、ftp、备份等),可能会产生后果,但前提是您需要处理非常大量文件。
【讨论】: