随着网站的发展,用户上传的文件夹结构会对性能产生任何影响吗?
例如,我考虑了这种存储照片/相册的结构:
Public folder
└── Uploads
└── Users
└── User ID
└── Album ID - contains all photos in the album
提前致谢!
随着网站的发展,用户上传的文件夹结构会对性能产生任何影响吗?
是的,它可以。如果您将太多文件存储在单个目录中,则可能会减慢操作速度。发布结构非常好。
编辑也许我要快速回答上面的答案并且缺少一些解释,所以下面我扩展它:
如果您希望拥有来自用户的数万张图片,您应该考虑以下解决方案:
在您的数据库中创建表并将有关每张照片的信息放入其中。从记录 id md5 哈希创建照片文件名。
数据库表示例:
+-------------------------------------------------- ----------------+ | id 文件名 ext created_at user_id | +-------------------------------------------------- ----------------+ | 1 c4ca4238a0b923820dcc509a6f75849b jpg 1381127206 1 | | 2 c81e728d9d4c2f636f067f89cc14862c jpg 1381123406 2 | | .. .. .. .. | +-------------------------------------------------- ----------------+
现在拆分 md5 哈希并从第一个(比如说 6 个字母)创建目录结构:
上传/ 用户/ 相片/ c4/ 钙/ 42/ c4ca4238a0b923820dcc509a6f75849b.jpg c8/ 1e/ 72/ c81e728d9d4c2f636f067f89cc14862c.jpg
优点:
还要确保在文件系统上启用目录索引(在较新的系统上默认启用)。