如何在硬盘中存储mp3文件并保持性能

时间:2011-12-01 09:29:03

标签: c# search filesystems

我正在开发一个项目,该项目将包含数百万个小型mp3文件,我想将其保存在硬盘中。

我有以下问题:

  • 我应该使用什么结构来保存文件?一个文件夹或 很多文件夹。
  • 搜索的最佳方式是什么?

2 个答案:

答案 0 :(得分:2)

最好的方法可能是将要搜索的信息存储在数据库中并使用该信息进行搜索。然后,您可以使用Lucene或Solr之类的东西进行搜索。

数据库会在磁盘上存储对该文件的引用,并在搜索弹出结果时直接使用该文件。这意味着您可以按照自己喜欢的顺序组织磁盘上的文件。

但是,如果没有更多信息,这实际上只是猜测。

答案 1 :(得分:2)

我必须在涉及存储大量图像的项目上做类似的事情。使用文件的一些元数据,我生成了一个MD5哈希,然后我将其用作文件名。文件名的第一个字符是文件的祖父目录,第二个字符是父文件。导致像这样的文件结构:

enter image description here

这样做的好处是可以将文件均匀分布在目录中。如果您选择用于生成井号的元数据,那么它还具有能够在不使用数据库来存储对它的引用的情况下查找文件的优势。

我发现这种方法可以很好地处理100k左右的文件,但是如果没有更多关于你究竟要做什么的信息,很难知道它是否适合你的问题......