gpt4 book ai didi

mysql - 处理大量上传图片的最佳目录结构是什么?

转载 作者:行者123 更新时间:2023-11-29 02:05:52 27 4
gpt4 key购买 nike

我正在创建一个网站,要求为每个用户上传个人资料图片以及调整大小的版本。我将使用 mysql 来存储图像的 ID 和其他信息。我不想处理重新排列静态文件的问题,所以让我们假设这个网站有成千上万的用户。我想知道存储图像的最佳目录结构是什么?

之前看到过几种方式:

1) md5(image_id),那么如果散列为 49f68a5c8493ec2c0bf489821c21fc3b,则结构为/49/f6/8a/5c/84/93/ec/2c/0b/f4/89/82/1c/21/fc/3b.jpg(或 .....3b/filename.jpg)。这种方式似乎能够处理很多,但看起来它可能会创建一些 TOO many 目录。也许是这种方法的变体?

2)/年/月/日/(可能是小时)/id.jpg

那怎么办呢?

最佳答案

在像这样的唯一哈希上向下钻取子目录是一个很好的解决方案,但您的示例中的子目录数量方式太多了。每个两个字符的子目录可以支持 256 个条目,因此如果您打算拥有 5000 个用户,那么在仅深入一个级别时每个子目录只能获得大约 20 个文件,这是完全合理的。两层深度将轻松处理数百万用户。

此外,我不会将文件名剪切为散列上的任何剩余字符。使用文件名的完整散列,无论你深入到多少层。如果您需要(例如)将文件移动到新商店,文件将更易于管理。即,不要这样做:

49/f68a5c8493ec2c0bf489821c21fc3b.jpg

这样做:

49/49f68a5c8493ec2c0bf489821c21fc3b.jpg

关于mysql - 处理大量上传图片的最佳目录结构是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6103815/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com