缓存存档文件的最佳方法是什么?

时间:2008-11-17 01:32:06

标签: caching archive

我们有一个项目页面,其中包含用户文件,多媒体内容等,我们希望允许用户将所有这些内容导出到单个zip文件中。我们正在使用unix和mysql来存储所有这些,我们的主要目标是最大限度地减少所有处理的加载/性能时间,并将所有文件编译成zip文件。

我的想法是将zip文件缓存到临时目录中,并将zip中每个文件的所有CRC校验和保存到单独的文本文件中。每次用户尝试进行导出时,我都会先检查每个文件的CRC,然后在添加或删除zip文件中的文件之前将其与列表进行比较。

但我的另一个问题也是zip文件占用的空间,因为我们可能会有很多用户。

恕我直言,这可能是最愚蠢的方式, 所以你们中的任何人都可以建议一个更好的方法来处理这个问题吗?

感谢 〜codeNoobian

3 个答案:

答案 0 :(得分:2)

这种过早优化的问题,只需使用非常轻的压缩,即“最快”,如果实际上是一个问题则担心速度。

答案 1 :(得分:0)

如果不考虑带宽/下载速度,我建议您使用未压缩的tar文件。 TAR是一种非常简单的格式,因此当一些文件发生变化时,很容易编写代码来更新它的各个部分。此外,保持未压缩状态将是服务器CPU时间的巨大胜利。

当然,保持未压缩状态会占用服务器上的大量存储空间。但是由于它是未压缩的,它可能根本不需要保留文件的缓存副本,如果你能够足够快地构建它,你可以根据需要动态构建它。然后,您不必担心存储CRC和更新TAR。

答案 2 :(得分:0)

常见的声音和图像文件一开始压缩得很好,不是吗?可能值得查看您的有效负载,看看您通过压缩购买了多少。