Сохранение торрентов на сайте торрент-индекса - PullRequest
2 голосов
/ 19 июня 2011

Я создаю торрент-сайт, где пользователи могут загружать торренты.

Как можно сохранить файлы .torrent?

Я могу придумать несколько вариантов:

Сохранение самого торрент-файла в папке на сервере (не лучший вариант, поскольку у ОС есть ограничения на сохранение большого количества файлов в 1 папке)

Сохранение самого торрент-файла в разные папки в месяц

Сохранение содержимого торрент-файла в базе данных (какие-либо ограничения / проблемы с производительностью / любые другие предупреждения?)

Есть ли другие варианты?

Ответы [ 6 ]

2 голосов
/ 19 июня 2011

Если вас беспокоит слишком большое количество файлов в каталоге, вам необходимо распределить файлы по нескольким каталогам.Хранение их по месяцам, дням или неделям - один из способов сделать это.Я бы сказал, что это зависит от того, сколько файлов у вас действительно есть.

Вы можете попытаться более или менее равномерно распределить файлы в подкаталогах, хэшируя их имя файла, и использовать весь или часть хеша для генерации одного илинесколько имен подкаталогов:

$hash = md5($fileName);
$srotePath = sprintf('%s/%s', substr($hash,0,2), $fileName);

Это позволит выбрать первые два символа из хеша md5 (00 - ff, 256 подкаталогов) для создания подкаталога.

Преимущество по сравнению с датой состоит в том, что вы всегда можете узнать, в каком каталоге хранится файл, когда у вас есть его имя.

Это также означает, что вы не можете иметь дубликаты файлов сто же имя (которое могло бы работать для подпапки на основе даты).

1 голос
/ 19 июня 2011

Я бы сказал, что лучше сохранить файл .torrent в еженедельной / ежемесячной папке.

Таким образом, вы можете использовать кеш файловой системы ОС, даже если вы храните .torrents вне корня документа для ограничения доступа пользователя (в конце концов вам придется открыть () файл в любом случае)

Оставление торрентов в базе данных со временем приведет к снижению производительности при увеличении размера БД.

1 голос
/ 19 июня 2011

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

если у вас нет проблем с использованием внешнего провайдера, вы можете использовать TorCache

1 голос
/ 19 июня 2011

Я использую это: Сохранение самого торрент-файла в разные папки за месяц

0 голосов
/ 19 июня 2011

Загрузка их автоматически сохраняет файлы .torrent.http://www.tizag.com/phpT/fileupload.php имеет хороший пример.Попробуйте.

0 голосов
/ 19 июня 2011

Может быть, вы попробуете Amazon S3? Это дешево, просто и быстро.

...