2011-01-08 2 views
0

Я работаю над проектом, который должен хранить десятки и тысячи изображений на сервере и позволить пользователям обращаться к ним. Мне нужен самый эффективный метод хранения этих изображений и их получения. Кроме того, мне нужна информация о том, какую технологию я должен выбрать. Я еще не начал проект. Итак, я думаю о PHP с CodeIgniter и Ruby on Rails.Что является наиболее эффективным способом хранения и доступа к изображениям

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

+1

этот вопрос, возможно, спрашивали 50 раз! Сначала попробуйте выполнить поиск на SO! –

+0

Ваши вопросы не имеют значения для вашей задачи, приятель –

+0

@Col. Шрапнель: Почему? Я серьезно не понимаю. –

ответ

5

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

Организация папок важна, так как файловая система ищет образы так же, как относительная база данных, и многие изображения в одной папке будут проблемой. Когда вы уже внедрили контрольную сумму, вы можете легко создать структуру каталогов из контрольной суммы, например, первые два символа MD5 будут 1-м уровнем подпапок, а два следующих символа будут вторым уровнем. Остальные символы будут самим изображением. Если вы хотите разрешить дубликаты, после контрольной суммы вы можете добавить суффикс для имени изображения.

Что касается хранения - у вас должен быть отдельный статический контент-сервер с быстрым и специализированным веб-сервером, например nginx или lighttpd, чтобы забыть о проблемах с производительностью. HDD должен быть настроен как RAID-массив.

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

+1

Спасибо. Ваш ответ был очень полезным. –

1

Если вы используете PHP, вы всегда можете использовать некоторое программное обеспечение, доступное для хранения и манипуляции с изображениями, например Gallery или phpThumb, или, по крайней мере, взглянуть на их код, чтобы вам не пришлось изобретать велосипед , Сказав это, я уверен, что для рубина должны существовать аналогичные библиотеки.

0

Посмотрите немного, это очень распространенный вопрос. Но эти ссылки могут помочь вам

Вы можете исследовать более

Edit # 1: Одно из предложений, просто не хранить ваши изображения в базе данных.

Смежные вопросы