Какой лучший способ кешировать архивный файл? - PullRequest
1 голос
/ 17 ноября 2008

У нас есть страница проекта, которая состоит из пользовательских файлов, мультимедийных файлов и т. Д., И мы хотим, чтобы пользователь мог экспортировать все это в один zip-файл. Мы используем unix и mysql для хранения всего этого в настоящее время, и наша основная цель - минимизировать время загрузки / производительности всей обработки и собрать все файлы в zip-файл.

Моя идея заключалась в том, чтобы заархивировать zip-файл во временный каталог и сохранить всю контрольную сумму CRC для каждого файла в zip-файле в отдельном текстовом файле. Каждый раз, когда пользователь пытается выполнить экспорт, я сначала проверяю CRC каждого файла и сравниваю его со списком, прежде чем добавлять или удалять файлы из zip-файла.

Но другой моей проблемой является также место, которое будет занимать zip-файл, поскольку у нас может быть много пользователей.

ИМХО, это, наверное, самый глупый способ сделать это, так, кто-нибудь из вас, ребята, может предложить лучший способ решения этой проблемы?

спасибо ~ CodeNoobian

Ответы [ 3 ]

2 голосов
/ 17 ноября 2008

Это требует преждевременной оптимизации, просто используйте очень легкое сжатие, то есть «самое быстрое», и беспокойтесь о скорости, если это действительно проблема.

0 голосов
/ 17 ноября 2008

Обычные звуковые и графические файлы довольно хорошо сжаты, не так ли? Возможно, стоит посмотреть на полезную нагрузку, чтобы узнать, сколько вы покупаете со сжатием.

0 голосов
/ 17 ноября 2008

Если пропускная способность / скорость загрузки не имеет значения, я рекомендую использовать несжатый tar-файл. TAR - это очень простой формат, поэтому будет легко написать код для обновления его разделов, когда несколько файлов будут изменены. Кроме того, если оставить его без сжатия, это значительно выиграет процессорное время сервера.

Конечно, если оставить его без сжатия, потребуется много места на вашем сервере. Но так как он несжатый, он может вообще избавить вас от необходимости хранить кэш-копию файла, если вы можете собрать его достаточно быстро, вы можете просто создать его на лету по мере необходимости. Тогда вам не нужно беспокоиться о хранении CRC и обновлении TAR.

...