我有一个网站,允许人们将文件上传到他们的帐户,并且它们显示在列表中。所有用户的文件都存储在不同的服务器上,并根据它们的受欢迎程度(它是一个文件托管站点)移动。
我想为用户添加将文件分组到文件夹的功能。我可以使用传统路线在硬盘驱动器上为服务器上的每个用户创建物理文件夹,并按预期横向移动它们。缺点是用户的文件将绑定到单个服务器。如果该服务器开始运行空间(或许多文件同时流行),那么缓解它将变得非常棘手。
我想做的是保持文件的无状态特性,允许它们存储在任何文件服务器上,并简单地存储文件夹ID(除了拥有该文件的用户ID)以及每个文件数据库。因此,当用户决定移动文件时,它不会在任何地方移动,只需更改数据库中的文件夹ID即可。
这是个好主意吗?我使用php和mysql。
答案 0 :(得分:2)
是的,是的。
我没有看到任何缺点,除了对数据库的更多查询,但通过正确索引父文件夹ID,这可能比直接访问文件系统更快。
答案 1 :(得分:0)
忘记文件夹并让用户标记他们的文件,每个文件多个标签。然后让他们查看标记为X 的文件。这与虚拟文件夹的实现差别不大,但对用户来说更灵活。