NFS 层次结构建议


NFS hierarchy suggestions

我正在创建一个允许用户上传视频/mp3/图像的网页。我一直在四处浏览,寻找能为我指明正确方向的东西,但没有任何东西可以帮助解决这个问题。

创建帐户时为每个用户设置一个新目录还是将文件保存在相应文件类型的一个文件夹中会更有效?

示例 1:

htdocs/user/media/image
htdocs/user/media/video
htdocs/user/media/audio

似乎此选项将允许每个用户在登录后更快地更新,但如果让我有很多人加入该网站,则意味着很多新文件夹。

示例 2:

htdocs/media/image
htdocs/media/video
htdocs/media/audio

此选项似乎很快就会失控,并可能影响访问文件的速度。

您的应用程序将执行的操作非常重要。

我认为对您的应用程序来说最好的办法是为上传的每张图片生成一个随机名称,然后创建一个嵌套文件夹结构来存储图像。例如,如果用户上传了一张照片,而您为其分配了名称 1234.png。然后,您可以将此图片存储在文件夹结构//1/2/1234.png 中,类似地,ab234.png 将存储在//a/b/ab234.png 中。此结构允许增长,最小化文件夹数,并最小化每个文件夹的文件数。

要为文件编制索引,您可以使用 MySql 数据库。在 MySql 数据库中,您可以有一个将 userId 链接到磁盘上的图片位置的表。您的表将有几列。对于带有图片 1234.png 的用户"1",表条目将为 <1,1234.png,a/b>