37 个信号建议使用 id 分区来完成这件事。
http://37signals.com/svn/archives2/id_partitioning.php
任何建议都会受到欢迎。
谢谢。
我们使用回形针来存储我们的文件。它可以很容易地做你想做的事。
我们使用按日期分区,因此今天上传的图像最终会以2009/12/10/image_12345.jpg
. 路径存储在数据库中以供参考,图像文件夹(的父级2009
)的路径放置在某个配置文件中。如果我们以后需要更改内容,它会变得非常容易。
您几乎可以映射所有内容。我们在设计中使用用户映射,但它是一个 HR 系统,所以它是有意义的(用户不可能有 32k 个文件条目)并且文件与用户明确相关。在系统的媒体库部分,按日期或 ID 划分会更有用。
问题是,您应该将文件路径的某些部分存储在数据库表中(如前所述)。它是日期还是用户哈希/名称(通常也被划分,例如 u/user j/john j/jo/john 等)。然后您不必担心更改分区系统,因为这只需要更新数据库。